java 图形用户界面,点按钮1改变所有组件的名字,假设有如下代码。本人新手,求大神

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 图形用户界面,点按钮1改变所有组件的名字,假设有如下代码。本人新手,求大神相关的知识,希望对你有一定的参考价值。

JButton jb1 = new JButton("中文");
JButton jb2 = new JButton("英文");

点jb1后两按钮名称变为Chinese和English,再点又变回来
求能直接运行的全部代码 全部的 谢谢

这个代码要是写的话,就多了,
思路是这样的,多语言对应是,是一种语言,保存为是一个文件。

如:
items_cn.properties
items_en.properties

properties文件,保存的是
items_cn.properties

jb1 = 中文
jb2 = 英文

items_en.properties
jb1 = Chinese
jb2 = English

在java中使用Properties类来读取。
点那个按钮就是,读取那个文件,用文件中的内容来替换按钮的内容。追问

求能直接运行的全部代码 全部的 谢谢

追答

10分还不足花时间 去折腾这个。

追问

诚心诚意地求您 给20分

追答

留个邮件吧,给你作个例子。下午给你写一个。问题采纳了吧。

追问

多谢多谢 374782547@qq.com

追答

已发送,注意查收。

参考技术A but1.setText("Chinese");
but2.setText("English");

对jb1添加事件,通过setText()来设置组件显示的内容,jb1就改为中文,jb2就改为英文
参考技术B 嗯。我有个思路。在jb1事件监听器中定义一个静态变量static int count,用来计数,利用奇偶数来区分点击事件,每单击一次count++一次。我是菜鸟。。。不知行不行。。。

java图形用户界面,本人代码效果如下,但是行间距有点大,按钮之类的组件过大,怎么解决?

class Frame1 extends JFrame implements ActionListener
JTextField text_name;
String[] JComboBoxItem="JComboBoxItem";
JComboBox aJComboBox;
JRadioButton aJRadioButton[];
JCheckBox aJCheckBox[];
JTextArea aTextArea;
JList aJList;
JSpinner aJSpinner;
JButton aJButton;
public Frame1()
super("javax.swing包中基本组件的形状");
this.setBounds(100,100,500,600);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
this.setLayout(new GridLayout(5,1));

//第一行
JPanel jpanel1=new JPanel();
jpanel1.setLayout(new GridLayout(1,3));
jpanel1.add(new JLabel("JLabel:",SwingConstants.RIGHT));
text_name=new JTextField(5);
jpanel1.add(text_name);
aJComboBox=new JComboBox(JComboBoxItem);
jpanel1.add(aJComboBox);
this.add(jpanel1);
//第二行
JPanel jpanel2=new JPanel();
jpanel2.setLayout(new GridLayout(1,3));
jpanel2.add(new JLabel("JCheckBox:",SwingConstants.RIGHT));
aJCheckBox=new JCheckBox[2];
aJCheckBox[0]=new JCheckBox("JCheckBox1");
aJCheckBox[1]=new JCheckBox("JCheckBox2");
jpanel2.add(aJCheckBox[0]);
jpanel2.add(aJCheckBox[1]);
this.add(jpanel2);
//第三行
JPanel jpanel3=new JPanel();
jpanel3.setLayout(new GridLayout(1,3));
jpanel3.add(new JLabel("JRadioButton:",SwingConstants.RIGHT));
ButtonGroup aButtonGroup=new ButtonGroup();
aJRadioButton=new JRadioButton[3];
aJRadioButton[0]=new JRadioButton("JRadioButton1");
aJRadioButton[1]=new JRadioButton("JRadioButton2");
aJRadioButton[2]=new JRadioButton("JRadioButton3");
aButtonGroup.add(aJRadioButton[0]);
aButtonGroup.add(aJRadioButton[1]);
aButtonGroup.add(aJRadioButton[2]);
jpanel3.add(aJRadioButton[0]);
jpanel3.add(aJRadioButton[1]);
jpanel3.add(aJRadioButton[2]);
this.add(jpanel3);
//第四行
JPanel jpanel4=new JPanel();
jpanel4.setLayout(new GridLayout(1,3));
jpanel4.add(new JLabel("JTextArea In JScrollPane:",SwingConstants.RIGHT));
aTextArea=new JTextArea(5,10);
JScrollPane scrollpane=new JScrollPane(aTextArea);
jpanel4.add(scrollpane);
jpanel4.add(new JLabel("JList:",SwingConstants.RIGHT));
String[] informationOfList="one","two","three";
aJList=new JList(informationOfList);
jpanel4.add(aJList);
this.add(jpanel4);
//第五行
JPanel jpanel5=new JPanel();
jpanel5.setLayout(new GridLayout(1,3));
jpanel5.add(new JLabel("JSpinner:",SwingConstants.RIGHT));
aJSpinner=new JSpinner();
jpanel5.add(aJSpinner);
aJButton=new JButton("JButton");
jpanel5.add(aJButton);
this.add(jpanel5);
this.setVisible(true);

参考技术A GridLayout布局中的每个格子的组件都会跟格子一样大,不管你怎么设置都没用,嫌大了就把窗口设小点 ,PACK()可以直接让窗口以每个子面板的首选大小之和显示 参考技术B 在 setVisible(true) 前加上一句 pack() 参考技术C .装个 Netbeans
拖拽式的界面编程... 你想怎么放就怎么放本回答被提问者和网友采纳

以上是关于java 图形用户界面,点按钮1改变所有组件的名字,假设有如下代码。本人新手,求大神的主要内容,如果未能解决你的问题,请参考以下文章

java图形用户界面,本人代码效果如下,但是行间距有点大,按钮之类的组件过大,怎么解决?

Java之GUI编程

Java中awt和swing的关系和区别

图形界面的基本概念

Swing用户界面组件

Java图形化用户界面(GUI)笔记介绍