0
レイアウトを次のように設定したいと考えています:1列5行と中央に配置します。 私はGridLayout(5,0)
を使ってみましたが、左側に残っています。適切なレイアウトを設定するには
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.JPanel;
public class TestSwingListeners1 {
private static int cnt1;
private static int cnt2;
public static void main(String[] args) {
JFrame fr1 = new JFrame("Swing Window");
Container cp;
JButton bt1;
JButton bt2;
cnt1 = 0;
cnt2 = 0;
final String scr = null;
final String wnr = null;
JButton btOK, btCancel;
fr1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
fr1.setSize(200, 200);
fr1.setResizable(true);
cp = fr1.getContentPane();
cp.setLayout(new GridLayout(5,0));
// cp.setLayout(new BoxLayout(BoxLayout.Y_AXIS));
btOK = new JButton("AC Milan");
btCancel = new JButton("Real Madrid");
final JLabel lbl1 = new JLabel("Result: " + cnt1 + "X" + cnt2);
final JLabel lbl2 = new JLabel("Last Scorer: " + scr);
final JLabel lbl3 = new JLabel("Winner: " + wnr);
cp.add(btOK);
cp.add(btCancel);
cp.add(lbl1);
cp.add(lbl2);
cp.add(lbl3);
fr1.add(cp, BorderLayout.CENTER);
cp.setLayout(new BoxLayout(lbl1, BoxLayout.LINE_AXIS));
//lbl1.setText(displayText);
btOK.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent ae) {
cnt1++;
lbl1.setText("Result: " + cnt1 + "X" + cnt2);
lbl2.setText("Last Scorer: AC Milan");
if(cnt1>cnt2){
lbl3.setText("Winner: AC Milan");
}
else if(cnt1<cnt2){
lbl3.setText("Winner: Real Madrid");
}
else if(cnt1 == cnt2){
lbl3.setText("Winner: Draw");
}
}
});
btCancel.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent ae) {
cnt2++;
lbl1.setText("Result: " + cnt1 + "X" + cnt2);
lbl2.setText("Last Scorer: Real Madrid");
if(cnt1>cnt2){
lbl3.setText("Winner: AC Milan");
}
else if(cnt1<cnt2){
lbl3.setText("Winner: Real Madrid");
}
else if(cnt1 == cnt2){
lbl3.setText("Winner: Draw");
}
}
});
fr1.show();
}
}
この質問はレイアウトに関するものではなく、あなたのパーソナルデバッガとして:1)コンテナcpを初期化します。 2)fr1.show(); == fr1.setVisible(true); – mKorbel
'cp = fr1.getContentPane();' vs 'fr1.add(cp、BorderLayout.CENTER);'誰が勝つのですか? :) –
"* ..それは左に残っています。" *コンパイルされないので、どのようにどこに配置することができないのか分かりません。もっと早く助けを求めるには、[SSCCE](http://pscode.org/sscce.html)を投稿してください。 –