我有两个类,每个类都有JFrame。
第一帧包含两个按钮,它们应该以适当的语言打开下一帧。我的任务是:我打开第一帧(启动程序),我想选择英语,我点击带有“英文”标签的按钮,它会用程序打开下一帧。所有标签,所有按钮均为英文。
当我希望它在例如法语,我在第一帧中点击法语按钮,第二帧用法语
中的所有标签和按钮打开所以,我的问题是:如何将动作与单击按钮结合使用,并以适当的语言打开框架?
目前,所有按钮都使用一种语言打开相同的框架。 以下是我的第一帧代码示例,“View”是下一个类中的下一个JFrame视图:
public class StartFrame extends JFrame {
JButton button1 = new JButton(new ImageIcon(((new ImageIcon("flag.png")).getImage()).getScaledInstance(100, 75, java.awt.Image.SCALE_SMOOTH)));
JButton button2 = new JButton(new ImageIcon(((new ImageIcon("flag2.jpg")).getImage()).getScaledInstance(100, 75, java.awt.Image.SCALE_SMOOTH)));
public StartFrame() {
setSize(480,360);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setLayout(new GridLayout(2,1));
JPanel panel2 = new JPanel();
add(panel2);
panel2.setLayout(null);
panel2.setBackground(Color.white);
panel2.setLayout(new FlowLayout());
button1.setPreferredSize(new Dimension(100, 75));
button2.setPreferredSize(new Dimension(100, 75));
panel2.add(button1);
panel2.add(button2);
panel2.add(button3);
button1.addActionListener (new ActionListener(){
public void actionPerformed(ActionEvent e) {
View f = new View();
f.setVisible(true);
f.setLocationRelativeTo(null);
dispose();
}
});
button2.addActionListener (new ActionListener(){
public void actionPerformed(ActionEvent e) {
View en = new View();
en.setVisible(true);
en.setLocationRelativeTo(null);
dispose();
}
});
}
public static void main(String[] args) {
StartFrame frame = new StartFrame();
frame.setVisible(true);
frame.setLocationRelativeTo(null);
}
}
答案 0 :(得分:0)
您可以向班级language
添加View
字段。然后,在您的动作侦听器上,您可以更改该字段的值:
button1.addActionListener (new ActionListener(){
public void actionPerformed(ActionEvent e) {
View f = new View();
f.setLanguage("French");
f.setVisible(true);
f.setLocationRelativeTo(null);
dispose();
}
});
button2.addActionListener (new ActionListener(){
public void actionPerformed(ActionEvent e) {
View en = new View();
en.setLanguage("English");
en.setVisible(true);
en.setLocationRelativeTo(null);
dispose();
}
});