请看看我的代码,它按照我想要的方式工作正常,但唯一的问题是我想在我当前的按钮对面添加另一个按钮,我无法这样做,任何身体都可以帮助我。< / p>
import java.awt.event.*;
import javax.swing.*;
public class Example2 extends JFrame {
public Example2() {
initUI();
}
public final void initUI() {
JPanel panel = new JPanel();
getContentPane().add(panel);
panel.setLayout(null);
panel.setToolTipText("A Panel container");
JButton button = new JButton("Even");
button.setBounds(100, 60, 100, 30);
button.setToolTipText("A button component");
JButton button2 = new JButton("Odd");
button2.setBounds(100, 60, 100, 30);
button2.setToolTipText("A button component");
//Add action listener to button
button.addActionListener(new ActionListener () {
public void actionPerformed(ActionEvent e)
{
//Execute when button is pressed
System .out.println("You clicked the button");
int sum=0;
for(int i=1;i<=100;i++){
if(i%2==0){
System.out.println(i);
sum+=i;
}
}
System.out.println("Sum of even numbers: "+sum);
}
});
panel.add(button);
panel.add(button2);
setTitle("Tooltip");
setSize(500, 400);
setLocationRelativeTo(null);
setDefaultCloseOperation(EXIT_ON_CLOSE);
}
public static void main(String[] args) {
Example2 ex = new Example2();
ex.setVisible(true);
}
}
答案 0 :(得分:7)
panel.setLayout(null);
这就是它开始出错的地方。
暂且不说。
...
button.setBounds(100, 60, 100, 30);
button.setToolTipText("A button component");
JButton button2 = new JButton("Odd");
button2.setBounds(100, 60, 100, 30);
...
您是否注意到两个按钮的界限是如何相同的?当你将两个相同大小的组件放在同一个地方时,你会发生什么?
答案 1 :(得分:3)
您必须将panel.setLayout(null)
更改为您需要的布局。例如:
panel.setLayout(new BoxLayout(panel, BoxLayout.X_AXIS));
或
panel.setLayout(new java.awt.FlowLayout(java.awt.FlowLayout.CENTER));
答案 2 :(得分:3)
Andrew Thompson +1,
以下是一些有用的链接: