2013-07-12 4 views
0

Я сделал быстрое исследование, чтобы решить эту проблему, но до сих пор я ничего не нашел относительно этого. У меня есть одно изображение в один объект TabbedPane, но когда я пытаюсь выровнять это изображение по центру метки внутри TabbedPane, это «не работает». Выравнивание центра в этом случае работает только для горизонтального просмотра, но я хочу находиться в центре как вертикального, так и горизонтального. Проверьте образец ниже:JTabbedPane выравнивание изображения

import java.awt.BorderLayout; 

import javax.swing.ImageIcon; 
import javax.swing.JFrame; 
import javax.swing.JLabel; 
import javax.swing.JMenu; 
import javax.swing.JMenuBar; 
import javax.swing.JPanel; 
import javax.swing.JTabbedPane; 

import com.sh.st.gui.MainScreen; 

public class test { 

    JTabbedPane tabbedPane = new JTabbedPane(); 
    JFrame mainFrame = new JFrame(); 

public static void main (String[] args){ 

     test t = new test(); 

    } 

    public test(){ 

     JPanel entrance = new JPanel(); 
     JLabel lbImage1; 
     JMenuBar bar; 
     JMenu file, registerQuery; 
     ImageIcon Logo= new ImageIcon("rsc/img/imagem.jpg");   


     lbImage1= new JLabel(Logo, JLabel.CENTER); 
      entrance.add(lbImage1); 
       tabbedPane.addTab("Entrance", null, entrance); 
        mainFrame.getContentPane().add(tabbedPane, BorderLayout.CENTER); 
         bar= new JMenuBar(); 
          file= new JMenu("File"); 
           registerQuery= new JMenu("Request"); 
            mainFrame.setVisible(true); 
    } 

}

Я думаю, его не так трудно сделать то, что я хочу, но до сих пор, как я уже сказал, я ничего не нашел, кто может помочь, пожалуйста? заранее спасибо

+0

Используйте последовательный и логический отступ для кодовых блоков. Отступ кода предназначен для того, чтобы помочь людям понять поток программы! Кроме того, перед отправкой обязательно ознакомьтесь с предварительным просмотром сообщения. –

ответ

2

Ориентация JLabel будет только по горизонтали из-за характеристик воспламеняемости его родительского контейнера. В этом случае это макет по умолчанию для JPanel, который является FlowLayout. Этот менеджер компоновки не упрощает вертикальное выравнивание.

При условии, что JLabellbImage1 будет единственным компонентом на JPanelentrance, то GridLayout может использоваться для центрирования JLabel как горизонтально, так и вертикально:

entrance.setLayout(new GridLayout()); 
+0

Работает как шарм. Спасибо, брови –

Смежные вопросы