繁体   English   中英

在JTabbedPane中的JTextArea中添加JLabel吗?

[英]Adding a JLabel to a JTextArea in JTabbedPane?

我的代码和截图如下。 我正在尝试在JTextField上方获取标签。 但是,显示标签时,选项卡上的按钮会消失。 我的问题是如何使标签位于文本区域上方,但同时显示按钮?

带有标签的代码:

import java.awt.BorderLayout;
import java.awt.ComponentOrientation;
import java.awt.Dimension;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.ButtonGroup;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JComboBox;
import javax.swing.JDialog;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JFrame;
import javax.swing.JRadioButton;
import javax.swing.JScrollPane;
import javax.swing.JTabbedPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;


public class TestApplication implements ActionListener {

  public static void main(String[] args) {
    final JFrame frame = new JFrame();
    frame.setSize(3000, 3000);
    frame.setTitle("RBA Test Application");
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setVisible(true);


    JLabel logLabel = new JLabel("Input / Output Log");


    JTextArea logbox = new JTextArea() {
    @Override
       public java.awt.Dimension getPreferredSize() {
          return new Dimension(500, 500);
       };
    };

    logLabel.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
    logLabel.setText("Input / Output Log");

    logbox.add(logLabel);



    JButton initialize = new JButton("Initialize");

    JButton connect = new JButton("Connect");

    JButton disconnect = new JButton("Disconnect");

    JButton shutdown = new JButton("Shut Down");

    JButton portsettings = new JButton("Port Settings");

    JButton online = new JButton("Go Online");

    JButton offline = new JButton("Go Offline");

    JButton status = new JButton("Status");

    JButton reboot = new JButton("Reboot");

    JButton account = new JButton("Account");

    JButton amount = new JButton("Amount");

    JButton reset = new JButton("Reset");

    JButton approvordecl = new JButton("Approve / Decline");

    JButton test = new JButton("Test Button #1");

    JButton testing = new JButton("Test Button #2");

    JRadioButton button = new JRadioButton("Radio Button");

    JRadioButton button2 = new JRadioButton("Radio Button");

    JCheckBox checkbox = new JCheckBox("Check Box");

    JCheckBox checkbox2 = new JCheckBox("Check Box");



    JPanel newButtonPanel = new JPanel() {
        @Override
           public java.awt.Dimension getPreferredSize() {
              return new Dimension(1000, 50);
           };
        };

    newButtonPanel.add(online);
    newButtonPanel.add(offline);
    newButtonPanel.add(status);
    newButtonPanel.add(reboot);
    newButtonPanel.add(account);
    newButtonPanel.add(amount);
    newButtonPanel.add(reset);
    newButtonPanel.add(approvordecl);


    JPanel testPanel = new JPanel();
    testPanel.add(button);
    testPanel.add(button2);
    testPanel.add(checkbox2);

    JPanel posPanel = new JPanel();
    posPanel.add(test);
    posPanel.add(testing);
    posPanel.add(checkbox);

    JPanel llpPanel = new JPanel();
    llpPanel.setLayout(new BorderLayout());
    llpPanel.add(newButtonPanel);
    llpPanel.add(new JScrollPane(logbox), BorderLayout.PAGE_END);
    llpPanel.add(logLabel);

    JPanel buttonPanel = new JPanel();
    buttonPanel.add(initialize);
    buttonPanel.add(connect);
    buttonPanel.add(disconnect);
    buttonPanel.add(shutdown);
    buttonPanel.add(portsettings);
    frame.add(buttonPanel);
    frame.add(buttonPanel, BorderLayout.NORTH);

    JTabbedPane tabbedPane = new JTabbedPane();
    tabbedPane.addTab("LLP", null, llpPanel, "Low Level Protocol");
    tabbedPane.addTab("POS",null, posPanel, "Point Of Sale");
    tabbedPane.addTab("Test", null, testPanel, "Test");

    JPanel tabsPanel = new JPanel(new BorderLayout());
    tabsPanel.add(tabbedPane);
    frame.add(tabsPanel, BorderLayout.CENTER);


    frame.pack();



}

@Override
public void actionPerformed(ActionEvent arg0) {
    // TODO Auto-generated method stub

}






}

带有标签的屏幕截图:

标签

没有标签的代码:

import java.awt.BorderLayout;
import java.awt.ComponentOrientation;
import java.awt.Dimension;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.ButtonGroup;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JComboBox;
import javax.swing.JDialog;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JFrame;
import javax.swing.JRadioButton;
import javax.swing.JScrollPane;
import javax.swing.JTabbedPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;


public class TestApplication implements ActionListener {

        public static void main(String[] args) {
    final JFrame frame = new JFrame();
    frame.setSize(3000, 3000);
    frame.setTitle("RBA Test Application");
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setVisible(true);


    JLabel logLabel = new JLabel("Input / Output Log");

    JTextArea logbox = new JTextArea() {
    @Override
       public java.awt.Dimension getPreferredSize() {
          return new Dimension(500, 500);
       };
    };

    logLabel.setFont(new java.awt.Font("Tahoma", 3, 18)); // NOI18N
    logLabel.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
    logLabel.setText("Input / Output Log");

    logbox.add(logLabel);


    JButton initialize = new JButton("Initialize");

    JButton connect = new JButton("Connect");

    JButton disconnect = new JButton("Disconnect");

    JButton shutdown = new JButton("Shut Down");


    JButton portsettings = new JButton("Port Settings");

    JButton online = new JButton("Go Online");

    JButton offline = new JButton("Go Offline");

    JButton status = new JButton("Status");

    JButton reboot = new JButton("Reboot");


    JButton account = new JButton("Account");

    JButton amount = new JButton("Amount");

    JButton reset = new JButton("Reset");


    JButton approvordecl = new JButton("Approve / Decline");

    JButton test = new JButton("Test Button #1");

    JButton testing = new JButton("Test Button #2");

    JRadioButton button = new JRadioButton("Radio Button");

    JRadioButton button2 = new JRadioButton("Radio Button");

    JCheckBox checkbox = new JCheckBox("Check Box");

    JCheckBox checkbox2 = new JCheckBox("Check Box");



    JPanel newButtonPanel = new JPanel() {
        @Override
           public java.awt.Dimension getPreferredSize() {
              return new Dimension(1000, 50);
           };
        };

    newButtonPanel.add(online);
    newButtonPanel.add(offline);
    newButtonPanel.add(status);
    newButtonPanel.add(reboot);
    newButtonPanel.add(account);
    newButtonPanel.add(amount);
    newButtonPanel.add(reset);
    newButtonPanel.add(approvordecl);


    JPanel testPanel = new JPanel();
    testPanel.add(button);
    testPanel.add(button2);
    testPanel.add(checkbox2);

    JPanel posPanel = new JPanel();
    posPanel.add(test);
    posPanel.add(testing);
    posPanel.add(checkbox);

    JPanel llpPanel = new JPanel();
    llpPanel.setLayout(new BorderLayout());
    llpPanel.add(newButtonPanel);
    llpPanel.add(new JScrollPane(logbox), BorderLayout.PAGE_END);

    JPanel buttonPanel = new JPanel();
    buttonPanel.add(initialize);
    buttonPanel.add(connect);
    buttonPanel.add(disconnect);
    buttonPanel.add(shutdown);
    buttonPanel.add(portsettings);
    frame.add(buttonPanel);
    frame.add(buttonPanel, BorderLayout.NORTH);

    JTabbedPane tabbedPane = new JTabbedPane();
    tabbedPane.addTab("LLP", null, llpPanel, "Low Level Protocol");
    tabbedPane.addTab("POS",null, posPanel, "Point Of Sale");
    tabbedPane.addTab("Test", null, testPanel, "Test");

    JPanel tabsPanel = new JPanel(new BorderLayout());
    tabsPanel.add(tabbedPane);
    frame.add(tabsPanel, BorderLayout.CENTER);


    frame.pack();



}

@Override
public void actionPerformed(ActionEvent arg0) {
    // TODO Auto-generated method stub

}






}

没有标签的屏幕截图:

标签

llpPanel ,将所有组件添加到llpPanel并按照希望看到的顺序添加:

llpPanel.add(newButtonPanel, BorderLayout.PAGE_START);
llpPanel.add(logLabel, BorderLayout.CENTER);
llpPanel.add(new JScrollPane(logbox), BorderLayout.PAGE_END);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM