#java #swing #custom-component #jtabbedpane
#java #swing #пользовательский компонент #jtabbedpane
Вопрос:
Я хочу, чтобы элемент управления вкладками был таким
Вкладка, которая точно изображена на картинке, используется мной в проекте C #. Это компонент, предлагаемый componentone studio со множеством пользовательских опций. Но я не могу найти никаких плагинов для java, которые могли бы делать подобные вещи. Внешний вид работает совсем не хорошо. Кто-нибудь может сказать мне, как добавить стильный элемент управления вкладками в мое приложение. Поскольку я новичок в Java, пожалуйста, дайте мне подробный ответ. Заранее спасибо.
Ответ №1:
Это панели с вкладками, документация.
JTabbedPane
класс.
Пример кода для страницы:
JTabbedPane tabbedPane = new JTabbedPane();
ImageIcon icon = createImageIcon("images/middle.gif");
JComponent panel1 = makeTextPanel("Panel #1");
tabbedPane.addTab("Tab 1", icon, panel1,
"Does nothing");
tabbedPane.setMnemonicAt(0, KeyEvent.VK_1);
JComponent panel2 = makeTextPanel("Panel #2");
tabbedPane.addTab("Tab 2", icon, panel2,
"Does twice as much nothing");
tabbedPane.setMnemonicAt(1, KeyEvent.VK_2);
JComponent panel3 = makeTextPanel("Panel #3");
tabbedPane.addTab("Tab 3", icon, panel3,
"Still does nothing");
tabbedPane.setMnemonicAt(2, KeyEvent.VK_3);
JComponent panel4 = makeTextPanel(
"Panel #4 (has a preferred size of 410 x 50).");
panel4.setPreferredSize(new Dimension(410, 50));
tabbedPane.addTab("Tab 4", icon, panel4,
"Does nothing at all");
tabbedPane.setMnemonicAt(3, KeyEvent.VK_4);
protected JComponent makeTextPanel(String text) {
JPanel panel = new JPanel(false);
JLabel filler = new JLabel(text);
filler.setHorizontalAlignment(JLabel.CENTER);
panel.setLayout(new GridLayout(1, 1));
panel.add(filler);
return panel;
}
protected static ImageIcon createImageIcon(String path) {
java.net.URL imgURL = TabbedPaneDemo.class.getResource(path);
if (imgURL != null) {
return new ImageIcon(imgURL);
} else {
System.err.println("Couldn't find file: " path);
return null;
}
}
Комментарии:
1. Tnx, не могли бы вы, пожалуйста, рассказать, как сделать панели с вкладками полупрозрачными?
2. проверьте этот раздел: coderanch.com/t/600541/GUI/java/JtabbedPane-transparency