Java固定元素';s位置
我需要建立21点游戏作为一个研究项目 我想用SWING GUI构建它。我所需要的只是将屏幕分成两部分,然后能够使用相对于指定部分的绝对(x,y)位置插入元素(在我的例子中,它是带有签名图像图标的扩展JButton) 诸如此类: 我是在安卓系统下开发的,在安卓系统中,你可以用非常简单的方式处理元素,我觉得在SWING中迷失了方向。没有绝对的布局或类似的东西 以下是我多次尝试的一个例子:Java固定元素';s位置,java,Java,我需要建立21点游戏作为一个研究项目 我想用SWING GUI构建它。我所需要的只是将屏幕分成两部分,然后能够使用相对于指定部分的绝对(x,y)位置插入元素(在我的例子中,它是带有签名图像图标的扩展JButton) 诸如此类: 我是在安卓系统下开发的,在安卓系统中,你可以用非常简单的方式处理元素,我觉得在SWING中迷失了方向。没有绝对的布局或类似的东西 以下是我多次尝试的一个例子: public void run() { // TODO Auto-generated meth
public void run() {
// TODO Auto-generated method stub
JFrame jFrame = new JFrame("Blackjack");
jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Container pane = jFrame.getContentPane();
Insets insets = pane.getInsets();
URL url = ClassLoader.getSystemClassLoader().getResource("10_of_clubs.png");
BufferedImage bi = null;
try {
bi = ImageIO.read(url);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Image resizedImage = bi.getScaledInstance(128, 186, 0);
ImageIcon icon = new ImageIcon(resizedImage);
ImageButton imgButton = new ImageButton(icon);
imgButton.setPreferredSize(new Dimension(128, 186));
ImageButton imgButton2 = new ImageButton(icon);
imgButton.setPreferredSize(new Dimension(128, 186));
pane.setLayout(new GridBagLayout());
JPanel headPanel = new JPanel();
JPanel headPanel2 = new JPanel();
GridBagConstraints cns = new GridBagConstraints();
cns.gridx = 0;
cns.gridy = 0;
cns.weightx = 0.5;
cns.weighty = 0.2;
cns.anchor = GridBagConstraints.FIRST_LINE_START;
cns.fill = GridBagConstraints.BOTH;
headPanel.setBackground(Color.RED);
headPanel.add(imgButton, cns);
GridBagConstraints cns2 = new GridBagConstraints();
cns2.gridx = 0;
cns2.gridy = 0;
cns2.weightx = 0.5;
cns2.weighty = 0.2;
cns2.anchor = GridBagConstraints.FIRST_LINE_START;
cns2.fill = GridBagConstraints.CENTER;
headPanel2.setBackground(Color.BLUE);
headPanel2.add(imgButton2, cns2);
pane.add(headPanel);
pane.add(headPanel2);
jFrame.setSize(800, 600);
jFrame.setVisible(true);
jFrame.setLocationRelativeTo(null);
}
这就是我得到的:
Tnx.如果您想要绝对布局,请查看: 一般来说,要阅读java中的布局,您可以查看: 以下是所有java swing组件:视觉指南:
我认为您可以使用JSplitPane()创建垂直分隔,因为您有重叠的元素,您可以: