以下代码:
View inflate = inflater.inflate(R.layout.page, null);
Drawable img = getResources().getDrawable((Integer) (item.get("img")));
inflate.findViewById(R.id.page_img).setBackground(img);
Run Code Online (Sandbox Code Playgroud)
产生以下错误:
java.lang.NoSuchMethodError: android.view.View.setBackground
我不知道为什么.我已经尝试过setBackground R.drawable.img但是我得到了同样的错误.
我有一个JScrollPane,JPanel其内容窗格有一个.为此,JPanel我添加较小的JPanels,并且如预期的那样,如果我添加太多JPanel,将出现垂直滚动条.
问题是,我的小JPanels包含了JScrollPane一个JEditorPane.我想使用鼠标滚轮仅用于滚动面板外,而不是较小的滚动窗格.我已经设定wheelScrollingEnabled()到false为小滚动面板,但如果我朝任意方向滚动,以及鼠标越过JEditorPane,滚动不工作了.
有什么建议?
所以我想创建一个Canvas基于Java的应用程序.我已经扩展了我的主类,Canvas并在它的构造函数中调整它的大小.
public CanvasApp() {
Dimension size = new Dimension(640, 480);
setSize(size);
setPreferredSize(size);
setMinimumSize(size);
setMaximumSize(size);
}
Run Code Online (Sandbox Code Playgroud)
在主函数中,我为它做了一个框架,像这样:
CanvasApp cnv = new CanvasApp();
JFrame frame = new JFrame("");
JPanel panel = new JPanel(new BorderLayout());
panel.setBorder(null); //I've tried this
panel.setSize(640,480); //but still doesn't work =(
panel.add(cnv, BorderLayout.CENTER);
frame.setContentPane(panel);
frame.pack();
frame.setResizable(false);
frame.setLocationRelativeTo(null);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
Run Code Online (Sandbox Code Playgroud)
但内容窗格的大小为650x490.为什么是这样?
我也附上了一张照片.