相关疑难解决方法(0)

Java外观(L&F)

我正在使用Java Swing开发一个桌面应用程序供我个人使用.我的应用程序需要一些漂亮的外观和感觉.如何使用Java或第三方API来完成?

java swing look-and-feel

163
推荐指数
2
解决办法
13万
查看次数

JTabbedPane自定义选项卡外观

我想在JTabbedPane中自定义选项卡的外观.
我想从最简单和最简洁的行为开始:没有边界,纯色.
问题是仍然存在不稳定性:标签略微重叠.

在此输入图像描述

您会看到,自从选择了第二个选项卡后,它就会"脱颖而出".这是通过略微的边缘重叠来实现的.是否有(非常棘手的)方法来禁用此行为?

简单,可测试(只修复导入)代码:

public class TabbedPane_LookStudy extends JFrame{

public static void main(String [] args) throws UnsupportedLookAndFeelException {
    UIManager.setLookAndFeel(new NimbusLookAndFeel());
    new TabbedPane_LookStudy().setVisible(true);
}

public TabbedPane_LookStudy() {
    JTabbedPane tp = new JTabbedPane();
    tp.setUI(new MyTabbedPaneUI());
    add(tp);

    tp.addTab("first",new JPanel());
    tp.addTab("second", new JPanel());
    tp.addTab("third", new JPanel());

    setPreferredSize(new Dimension(180,100));
    pack();
}

public static class MyTabbedPaneUI extends javax.swing.plaf.basic.BasicTabbedPaneUI {

    @Override
    protected void paintTab(Graphics g, int tabPlacement, Rectangle[] rects, 
               int tabIndex, Rectangle iconRect, Rectangle textRect) {
        Color savedColor = g.getColor();
        g.setColor(Color.PINK);
        g.fillRect(rects[tabIndex].x, rects[tabIndex].y, 
               rects[tabIndex].width, rects[tabIndex].height);
        g.setColor(Color.BLUE); …
Run Code Online (Sandbox Code Playgroud)

java swing jtabbedpane

8
推荐指数
1
解决办法
2万
查看次数

JTabbedPane中的多个选项卡使用单个JPanel?

是否可以使用单个JPanel多个标签项JTabbedPane

例如:

JTabbedPanel tabs=new JTabbePanel();

JPanel panel=new JPanel();
JButton but=new JButton("TEXT");
but.addActionlistener(this);
panel.add(but)

tabs.add("First",panel);
tabs.add("Second",panel);
Run Code Online (Sandbox Code Playgroud)

一个ActionListener被添加到JTabbedPane通知的选项卡的变化方案(变化cur_tab到标签编号)

public void actionPerformed(..)
{ System.out.println("Now in "+cur_tab); }
Run Code Online (Sandbox Code Playgroud)

java swing jpanel

3
推荐指数
1
解决办法
5426
查看次数

JTabbedPane 选项卡边框去除

JTabbedPane - 即使使用 BasicTabbedPaneUI 后也会显示选项卡边框。请让我知道如何更改以使选项卡之间不显示边框?有什么方法可以完全去除边框吗?

在此输入图像描述

请向我发送代码片段。提前致谢。

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;
import javax.swing.BorderFactory;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTabbedPane;
import javax.swing.SwingUtilities;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
import javax.swing.plaf.basic.BasicTabbedPaneUI;

public class TabbedPaneTest implements Runnable {

    @Override
    public void run() {
        final JTabbedPane pane = new JTabbedPane();
        pane.addTab("A", createTab(Color.RED));
        pane.addTab("B", createTab(Color.YELLOW));
        pane.addTab("C", createTab(Color.BLUE));

        pane.setUI(new BasicTabbedPaneUI() {
            @Override
            protected void paintContentBorder(Graphics g, int tabPlacement, int selectedIndex) {

            }
        });
        pane.setBackground(Color.WHITE);

        pane.addChangeListener(new ChangeListener() {

            @Override
            public void stateChanged(ChangeEvent arg0) {
                pane.setForegroundAt(pane.getSelectedIndex(), Color.GREEN); …
Run Code Online (Sandbox Code Playgroud)

java swing jtabbedpane

3
推荐指数
1
解决办法
3510
查看次数

使用java swing对JTabbedPane中的选项卡进行着色

我想改变我的标签的背景颜色JTabbedPane.我试着JTabbedPane.setBackgroudAt(0, Color.GRAY)JTabbedPane.setBackgroud(Color.GRAY)和前景也一样,但没有任何反应.我更改了选项卡内面板的背景,仍然没有.

在此输入图像描述

编辑1:我正在使用,UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");如果这可以帮助解决方案

编辑2:链接到示例,https://www.dropbox.com/s/0krn9vikvkq46mz/JavaApplication4.rar

java swing jtabbedpane

2
推荐指数
2
解决办法
2万
查看次数

标签 统计

java ×5

swing ×5

jtabbedpane ×3

jpanel ×1

look-and-feel ×1