小编use*_*170的帖子

边界麻烦

我试图弄清楚边界是如何工作的,特别是插图,以及搜索Java文档和众多网站我似乎无法找到明确的解释.看看这段代码:

import java.awt.AlphaComposite;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.EventQueue;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.GridBagLayout;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.UIManager;
import javax.swing.UnsupportedLookAndFeelException;
import javax.swing.border.EmptyBorder;

public class ShadowWindow {

public static void main(String[] args) {
    new ShadowWindow();
}

public ShadowWindow() {
    EventQueue.invokeLater(new Runnable() {
        @Override
        public void run() {
            try {
                UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
            } catch (ClassNotFoundException | InstantiationException | IllegalAccessException | UnsupportedLookAndFeelException ex) {
            }

            JFrame frame = new JFrame("Testing");
            frame.setUndecorated(true);
            frame.setBackground(new Color(0, 0, 0, 0));
            frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); …
Run Code Online (Sandbox Code Playgroud)

java swing

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

getContentPane()需要强制转换

我创建了一个扩展JFrame的类,默认情况下会使用它创建一个JPanel.我试过这个:

public class Main extends JFrame {

JPanel pane;

private static final long serialVersionUID = 1L;

public Main() {

    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    int WIDTH = 500, HEIGHT = 500;
    setBackground(Color.LIGHT_GRAY);
    setSize(WIDTH, HEIGHT);
    setTitle("Window");
    setLocationRelativeTo(null);

    pane = getContentPane();
}
Run Code Online (Sandbox Code Playgroud)

我正在使用Eclipse,并且它给出了一个错误,建议我转换getContentPane()为返回a JPanel,但根据我的理解,这应该是它应该返回的内容.我插入System.out.println(getContentPane());并在控制台中说它返回了一个JPanel,所以我有点困惑为什么它需要被投射.这里有什么我想念的吗?谢谢.

java swing

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

标签 统计

java ×2

swing ×2