java - 如何设置 JViewport 的插图

标签 java swing awt

我知道 setViewportBorder(),但是我想知道您是否可以设置视口(viewport)的边界,而不仅仅是用空边框填充。我想要实现的是为与增加和减少按钮内联的页眉和页脚组件创建空间。

                  _
                 |^|
 ----------------| |
|                | |
|   JViewport    | |
|________________| |
                 |v|

最佳答案

你总是可以自己动手

import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
class Testing
{
  public void buildGUI()
  {
    JPanel p = new JPanel(new BorderLayout());
    JTextArea ta = new JTextArea(10,10);
    ta.setLineWrap(true);
    JScrollPane sp = new JScrollPane(ta,ScrollPaneConstants.VERTICAL_SCROLLBAR_NEVER,
                                      ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
    JLabel header = new JLabel("Header",JLabel.CENTER);
    JLabel footer = new JLabel("Footer",JLabel.CENTER);
    JScrollBar sBar = new JScrollBar();
    sp.getVerticalScrollBar().setModel(sBar.getModel());
    p.add(header,BorderLayout.NORTH);
    p.add(sp,BorderLayout.CENTER);
    p.add(footer,BorderLayout.SOUTH);

    for(int x = 0; x < 50; x++) ta.append(x+"\n");
    JFrame f = new JFrame();
    f.getContentPane().add(p);
    f.getContentPane().add(sBar,BorderLayout.EAST);
    f.pack();
    f.setLocationRelativeTo(null);
    f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    f.setVisible(true);
  }
  public static void main(String[] args)
  {
    SwingUtilities.invokeLater(new Runnable(){
      public void run(){
        new Testing().buildGUI();
      }
    });
  }
}

关于java - 如何设置 JViewport 的插图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14317845/

相关文章:

java - 以编程方式解析 Maven Artifact URL

java - JTabel 单个单元格文本对齐

java - 当 MouseEnter 事件触发时显示弹出窗口

java - 在 JComponent 中存储形状

java - 父 JPanel - 如何监听子 JPanel 组件生成的事件?

另一个类中的Java actionListener不会打开窗口

java - 我如何设计一个专业的 JFrame?

java - java的console.log()是什么?

java - 如何允许匿名访问@RequestMapping?

java - 为什么我们为内部类创建对象时会调用getClass()?