当在GUI中按下按钮时,Java会生成下一组时间顺序按钮

时间:2016-01-15 18:10:17

标签: java swing user-interface

这是我在stackOverflow上的第一篇文章,我很想知道在这个网站上发布问题的正确礼仪。

我在短暂的几个陈述中的问题:
我希望能够通过单击按钮更改Java GUI中的标签数量。当我点击按钮时,屏幕上的15个标签应该从1到15到16-31。每次点击标签都应该生成带有接下来15个数字的标签。

图片: 目前发生的情况是当我按下“下一步”按钮时如下:

GUI screen prior to pressing the next button

After the next button is pressed, the screen changes to the following

我面临的问题是,在我再次按下下一个按钮后,屏幕不会改变并保持16-31的标签。

目标:拥有一个功能性的“上一个”和“下一个”按钮,分别按先前的15个或后15个标签有序刷新GUI。

以下是“上一页”和“下一页”按钮的事件处理程序代码:

    private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {                                         
    // TODO add your handling code here:

}                                        



int updateLabelBy = 16;
int multiplyingFactor = 1;
int sum = multiplyingFactor * updateLabelBy ;


private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {                                         
    // TODO add your handling code here:
    //When this button is pressed, JPanel2,3,4,5 will all show the next instance of solutions 

    if (NumOfExplanations > 15) 
    {
        //Clearing out JPannels 
        jPanel1.removeAll();
        jPanel1.updateUI();
        jPanel2.removeAll();
        jPanel2.updateUI();
        jPanel3.removeAll();
        jPanel3.updateUI();
        jPanel4.removeAll();
        jPanel4.updateUI();
        jPanel5.removeAll();
        jPanel5.updateUI();



                //To update the label index numbers 

    //int multiplied = multiplyingFactor * updateLabelBy;

     for ( int i = 16; i < NumOfExplanations; i++ )
    {
        JLabel label = new JLabel( "Exp " + i  );
        label.setSize(100,35);
        label.setMaximumSize(new Dimension (140,40));
        label.setMinimumSize(new Dimension (100,30));
        label.setFont(new Font("Serif", Font.BOLD, 15));

        jPanel2.setLayout(new BoxLayout(jPanel2, BoxLayout.Y_AXIS));
        jPanel2.setBorder(BorderFactory.createEmptyBorder(10, 10, 15, 0));
        label.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        jPanel2.add(label);


    }

    }
    else 
        {
        final JFrame parent = new JFrame();
        JButton button = new JButton();

        button.setText("This document only contains " + NumOfExplanations + " explanations" );
        parent.add(button);
        parent.pack();
        parent.setVisible(true);
        parent.setSize(400,200);
        parent.setLocationRelativeTo(null);

    }






}                                        

1 个答案:

答案 0 :(得分:0)

这很容易做到。要更改按钮上显示的文本,只需执行

btn.setText( "New message" )