Java 如何使用gettext和settext
因此,我有两个不同的面板,第一个面板的工作原理应该是一样的,但可能需要Actionlistener来解决我的问题:Java 如何使用gettext和settext,java,Java,因此,我有两个不同的面板,第一个面板的工作原理应该是一样的,但可能需要Actionlistener来解决我的问题: class knopHandler implements ActionListener { public void actionPerformed ( ActionEvent e ) { JFrame frame2 = new JFrame ( "Total Hours" ); frame2.setSize ( 600, 500 );
class knopHandler implements ActionListener
{
public void actionPerformed ( ActionEvent e )
{
JFrame frame2 = new JFrame ( "Total Hours" );
frame2.setSize ( 600, 500 );
JPanel uitvoerpanel = new uitvoerpanel();
frame2.setContentPane( uitvoerpanel );
frame2.setVisible( true );
frame1.setVisible( false );
String invoerstring1 = maandaginvoer.getText();
int getal1 = Integer.parseInt( invoerstring1 );
String invoerstring2 = dinsdaginvoer.getText();
int getal2 = Integer.parseInt( invoerstring2 );
String invoerstring3 = woensdaginvoer.getText();
int getal3 = Integer.parseInt( invoerstring3 );
String invoerstring4 = donderdaginvoer.getText();
int getal4 = Integer.parseInt( invoerstring4 );
String invoerstring5 = vrijdaginvoer.getText();
int getal5 = Integer.parseInt( invoerstring5 );
String invoerstring6 = zaterdaginvoer.getText();
int getal6 = Integer.parseInt( invoerstring6 );
String invoerstring7 = zondaginvoer.getText();
int getal7 = Integer.parseInt( invoerstring7 );
int resultaat = getal1 + getal2 + getal3 + getal4 + getal5 + getal6 + getal7;
}
}
第二个面板的相关部分如下所示:
public uitvoerpanel()
{
setLayout( null );
naamvak = new JTextField ( 20 );
naamvak.setHorizontalAlignment ( JTextField.LEFT );
naamvak.setEditable ( false );
naamvak.setText( naaminvoer.getText() );
badgevak = new JTextField ( 20 );
badgevak.setHorizontalAlignment ( JTextField.LEFT );
badgevak.setEditable ( false );
badgevak.setText( badgeinvoer.getText() ) ;
totaalurenvak = new JTextField ( 20 );
totaalurenvak.setHorizontalAlignment ( JTextField.LEFT );
totaalurenvak.setEditable ( false );
totaalurenvak.setText( "" + resultaat );
第一个面板有几个文本字段,人们可以在其中键入内容,我希望这些文本字段中的文本出现在第二个面板的文本字段中,但我不知所措。当我现在运行程序时,第二个面板的文本字段中没有显示任何内容
actionlistener中的“intResultAt”也应该出现在其中一个文本字段中,但我也无法让它正常工作
我是将setter/getter放在正确的位置,还是应该放在actionlistener中?还是我缺少了另一段代码?比如说,您的按钮是jButton1,文本字段是jTextField1和jTextField2
为按钮添加actionListner,如下所示:
jButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton1ActionPerformed(evt);
}
});
然后简单地实现这个方法:
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
String s=jTextField1.getText();
jTextField2.setText(s);
}
在Swing中使用动作侦听器进行事件处理非常简单 如中所述,您需要执行以下步骤:
公共类MyClass实现ActionListener{
someComponent.addActionListener(instanceOfMyClass);
public void actionPerformed(ActionEvent e){
…//对操作作出反应的代码…}
maandaginvoer
。您需要使用面板1上的文本字段注册(步骤2)侦听器
一旦你解决了这个问题,你应该能够看到你想要的输出。
这个问题太宽了。请考虑改变它并提供一个极小的例子。我理解,但是我不知道在代码中我需要在哪里,所以我想这就是我为什么这样做的原因。(我希望有人仍然可以帮助我。请提供一个。在这里发布一个完整的代码很简单,但我们不容易找到您想要的。希望现在编辑得更清楚。您想在点击按钮时在其他面板中显示文本吗?还是在用户键入时显示文本?对不起,我不明白您对InitComponents或的意思initblock..只学了几个星期的java..不管怎样,我都会继续尝试你的建议,并尝试一些不同的地方,谢谢你的帮助!@StefanBuijs我已经编辑了答案。我愚蠢地认为你在使用IDE(不知道为什么!).但你仍然可以简单地注册你的组件,并按照我所展示的方式执行一些操作。也谢谢VHS!现在就试试!它成功了,谢谢你的解释。为了上学,我整天都在努力解决这个问题,所以你不知道我有多感激它!再次感谢!@StefanBuijs。不客气。我很高兴我能帮助孩子们社区。遗憾的是,对于需要从maandaginvoer
dinsdaginvoer
等中添加不同数字的totaalurenvak
不起作用。我有这样一个:totaalurenvak.setText(“+resultat”);
但编译器告诉我缺少一个符号。我想问题出在其他方面,但我想我还是会问。我想我还有一些东西需要整理。@StefanBuijs尝试将getText()结果解析为Int。getText()方法返回字符串。