私は3つのjpanelを持つプログラムを作成しています。1つはコンテナーで、コンテナー内には2つのjpanelがあります。1つはボタンを保持し、もう1つはコンテンツを保持します。私はそれらの両方をこれまでに表示し、見栄えを良くしました。唯一の問題は、2つまたは2つの間に(または可能であればボタンメニューの周りに)スペースまたは境界線を追加したいと思っていましたが、両方の内部パネルがnullレイアウトに設定されているためです。外部レイアウトが境界線レイアウトに設定されている2つの内部レイアウトの間に境界線を追加できないようです。これまでの私のコードは次のとおりです。
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.SwingUtilities;
public class internal_test extends JFrame {
int height = 480;
int width = 640;
public internal_test() {
initUI();
}
private void initUI() {
JPanel container = new JPanel();
container.setLayout(new BorderLayout());
container.setBackground(Color.black);
JPanel buttonMenu = new JPanel();
buttonMenu.setLayout(null);
buttonMenu.setBackground(Color.DARK_GRAY);
buttonMenu.setPreferredSize(new Dimension(150, height));
JPanel dragFrame = new JPanel();
dragFrame.setLayout(null);
dragFrame.setPreferredSize(new Dimension(200, 100));
dragFrame.setSize(new Dimension(490, height));
dragFrame.setBackground(Color.gray);
container.add(buttonMenu, BorderLayout.WEST);
container.add(dragFrame, BorderLayout.CENTER);
// container.setBorder(new EmptyBorder(new Insets(10, 10, 10, 10)));
add(container);
pack();
setTitle("internal_test V0.1");
setDefaultCloseOperation(EXIT_ON_CLOSE);
setSize(width, height);
setLocationRelativeTo(null);
}
public static void main(String args[]) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
internal_test c = new internal_test();
c.setVisible(true);
}
});
}
}
dragFrameはDragLayoutになります。これは、そのレイアウトが必要なことを実行するためですが、ボタン/その他のアイテムをリストに配置し、それぞれの横にラベルを付けることができる限り、ボタンメニューは技術的には任意のレイアウトにすることができます。 。
どんな助けでも大歓迎です。