2013-06-04 3 views
1

내 코드는 스크린 샷과 함께 아래에 있습니다. JTextField 위에 레이블을 가져 오려고합니다. 그러나 레이블이 표시되면 탭의 단추가 사라집니다. 내 질문은 텍스트 영역 위에 레이블을 어떻게 표시합니까? 그러나 단추도 함께 표시됩니까? 레이블JTabbedPane의 JTextArea에 JLabel 추가?

코드 :

: 라벨이없는

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 

} 






} 

스크린 샷 : 라벨이없는

label

코드 : 라벨에

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 

} 






} 

스크린 샷

label

+0

너무 그것에 라벨 표시합니까? –

+0

잠깐, JTextArea에 JLabel을 추가하고 있습니까? 이 올바른지? 정확하다면 이것은 매우 드문 일이며 권장하지 않습니다. 또한 구성 요소가 서로 충돌하고 서로를 덮을 수있는 곳을 쉽게 볼 수있는 너무 많은 것의 기본 크기를 설정하고 있습니다. –

+0

네, 그렇게하려고합니다. 나는 초보자이며, 평소와 그렇지 않은 것을 실제로 알지 못합니다. 저는 인턴입니다. 테스트 응용 프로그램을 만들면서 "도우미"가 내 코드를 정리하는 데 도움이 될 것이라고 생각합니다. 내가 할 수있는 것에 관해 어떤 조언을 해줄 수 있니? 다른 사람이 Windows에서 잘 표시한다고했기 때문에 조금 혼란 스럽습니다. –

답변

2

llpPanel에 모든 구성 요소를 추가하고 순서는 위에서 아래로, 그들을 볼 것으로 예상 :

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

그게 효과가! 정말 고맙습니다!!! –