相关疑难解决方法(0)

Java - 透明的JScrollPane

我有一个JTextArea,它位于JScrollPane的顶部.无论如何,我知道我可以使用该getViewPort()方法设置视口的不透明...但我似乎无法找到任何迹象表明如何做到这一点......任何地方.:S

这是我到目前为止:

 if (e.getKeyCode() == KeyEvent.VK_F)
{
    if (sp.isVisible())
    {
        sp.setVisible(false);
    }
    else
    {
        sp.setVisible(true);
    }
}
Run Code Online (Sandbox Code Playgroud)

java swing jscrollpane

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

在JScrollPane中使用绝对布局

我需要使用绝对layoute的JScrollPane.我知道根本不推荐使用setLayout(null).我一直在阅读如果你想使用JScrollPane的绝对布局,有必要设置里面元素的首选大小属性,以便JScrollPane可以计算它的大小.

我一直在尝试下一个代码改变元素的顺序和大小,但我无法解决我错在哪里.

import java.awt.Color;
import java.awt.Dimension;
import java.awt.EventQueue;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;


public class frame extends JFrame {

private JPanel contentPane;
private JScrollPane scrollPane;

public static void main(String[] args) {
    EventQueue.invokeLater(new Runnable() {
        public void run() {
            try {
                frame frame = new frame();
                frame.setVisible(true);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    });
}

public frame() {
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    setBounds(100, 100, 450, 300);
    contentPane = new JPanel();
    contentPane.setLayout(null);
    setContentPane(contentPane);

    JPanel panel = new JPanel();
    panel.setBackground(Color.red);
    panel.setBounds(0,0,600,600);
    panel.setPreferredSize(new Dimension(420,280)); …
Run Code Online (Sandbox Code Playgroud)

java layout swing jscrollpane null-layout-manager

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

如何将组件置于其他组件之上?

我有一个JScrollPanel包括一个大面板,它自己包括3个内板.我想把一个面板(例如)放在一个特殊的地方,以便始终可以看到,我的意思是用户可以滚动到任何想要的地方,但该面板始终位于其他组件的顶部,并且不会移动.我尝试过这样做,JLayeredPane但我做不到.我该怎么办?

java swing jscrollpane jlayeredpane jviewport

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