在学习过程中碰到的关于添加组件的一个小问题??大家帮帮忙给解释一下。

郎虹 2003-11-20 03:43:48
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
//import javax.swing.event.*;
public class MDIWebBrowser extends JFrame
{
JDesktopPane desktopPane=new JDesktopPane();
private void createNewWindow()
{
JInternalFrame frame=new JInternalFrame
("Browser",true,true,true,true);

WebBrowserPane browserPane=new WebBrowserPane();
//WebBrowserPane是JEditorPane的继承类
WebToolBar toolBar=new WebToolBar(browserPane);
//WebToolBar是JToolBar 的继承类
frame.getContentPane().add(toolBar,BorderLayout.NORTH);

frame.getContentPane().add(new JScrollPane
(browserPane),BorderLayout.CENTER);

frame.setSize(320,240);

int offset =30*desktopPane.getAllFrames().length;
frame.setLocation(offset,offset);
desktopPane.add(frame);
frame.setVisible(true);
}
}
为什么这段程序中像frame窗体中添加toolBar,JScrollPane使用
frame.getContentPane()好使,但是使用以下语句就不好使了?
Container conterPane=new frame.getContentPane();
contentPane.add(toolBar,BorderLayout.NORTH);
contentPane.add(new JScrollPane(browserPane),BorderLayout.CENTER);
谢谢各位!!!!!!!!!!!!!!!!!!!!!
...全文
122 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
郎虹 2003-11-21
  • 打赏
  • 举报
回复
怎么没人回答了??
我自己再顶一下!!!
ssht968 2003-11-20
  • 打赏
  • 举报
回复
up
郎虹 2003-11-20
  • 打赏
  • 举报
回复
//class MDIWebBrowser 这就是编译不过去的类


import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
//import javax.swing.event.*;
public class MDIWebBrowser extends JFrame
{
JDesktopPane desktopPane=new JDesktopPane();
public MDIWebBrowser()
{
super("MDI Web Browser");

createNewWindow();
Container contentPane = getContentPane();
contentPane.add(desktopPane);

JMenu fileMenu=new JMenu("File");
fileMenu.add(new NewWindowAction());
fileMenu.addSeparator();
fileMenu.add(new ExitAction());
fileMenu.setMnemonic('F');

JMenuBar menuBar=new JMenuBar();
// menuBar.setBackground(Color.RGBtoHSB(233,34,232,34);
menuBar.add(fileMenu);
setJMenuBar(menuBar);
}

private void createNewWindow()
{
JInternalFrame frame=new JInternalFrame("Browser",true,true,true,true);

WebBrowserPane browserPane=new WebBrowserPane();
WebToolBar toolBar=new WebToolBar(browserPane);
Container conterPane=frame.getContentPane();
// frame.getContentPane().add(toolBar,BorderLayout.NORTH);
// frame.getContentPane().add(new JScrollPane(browserPane)
// ,BorderLayout.CENTER);
Container conterPane=frame.getContentPane();
contentPane.add(toolBar,BorderLayout.NORTH);
contentPane.add(new JScrollPane(browserPane),BorderLayout.CENTER);

frame.setSize(320,240);

int offset =30*desktopPane.getAllFrames().length;
frame.setLocation(offset,offset);
desktopPane.add(frame);
frame.setVisible(true);

}

private class NewWindowAction extends AbstractAction
{
public NewWindowAction()
{
putValue(Action.NAME,"New Window");
putValue(Action.SHORT_DESCRIPTION,"Create New Web Browser Window");
putValue(Action.MNEMONIC_KEY,new Integer('N'));
}
public void actionPerformed(ActionEvent event)
{
createNewWindow();
}
}
private class ExitAction extends AbstractAction
{
public ExitAction()
{
putValue(Action.NAME,"Exit");
putValue(Action.SHORT_DESCRIPTION,"Exit Application");
putValue(Action.MNEMONIC_KEY,new Integer('x'));
}
public void actionPerformed(ActionEvent event)
{
System.exit(0);
}
}
public static void main(String args[])
{
MDIWebBrowser browser=new MDIWebBrowser();
browser.setDefaultCloseOperation(EXIT_ON_CLOSE);
browser.setSize(640,480);
browser.setVisible(true);
}

}
kelley6 2003-11-20
  • 打赏
  • 举报
回复
连续发三贴了吧,帮你顶一下吧!晚上请我吃饭~~
郎虹 2003-11-20
  • 打赏
  • 举报
回复
//class WebBrowser


import java.awt.*;
import java.awt.event.*;
import java.net.*;
import javax.swing.*;
import javax.swing.event.*;

public class WebBrowser extends JFrame
{
private WebToolBar toolBar;
private WebBrowserPane browserPane;
public WebBrowser()
{
super("Deitel Web Browser");
browserPane=new WebBrowserPane();
toolBar=new WebToolBar(browserPane);
Container contentPane=getContentPane();
contentPane.add(toolBar,BorderLayout.NORTH);
contentPane.add(new JScrollPane(browserPane),BorderLayout.CENTER);
}


public static void main(String args[])
{

WebBrowser mainFrame = new WebBrowser();
mainFrame.setDefaultCloseOperation(EXIT_ON_CLOSE);
mainFrame.setSize(400, 400);
mainFrame.setTitle("WebBrowser");
mainFrame.setVisible(true);
}

}
郎虹 2003-11-20
  • 打赏
  • 举报
回复
//class WebBrowserPane


import java.util.*;
import java.net.*;
import java.io.*;
import javax.swing.*;
public class WebBrowserPane extends JEditorPane
{
private ArrayList history=new ArrayList();
private int historyIndex;
public WebBrowserPane()
{
setEditable(true);
}
public void goToURL(URL url)
{
displayPage(url);
history.add(url);
historyIndex=history.size()-1;
}
public URL forward()
{
historyIndex++;
if(historyIndex>=history.size())
{
historyIndex=history.size()-1;
}
URL url=(URL)history.get(historyIndex);
displayPage(url);
return url;
}
public URL back()
{
historyIndex--;
if(historyIndex<0)
{
historyIndex=0;
}
URL url=(URL)history.get(historyIndex);
displayPage(url);
return url;
}
public void displayPage(URL pageURL)
{
try
{
setPage(pageURL);
}
catch(IOException ioException)
{
ioException.printStackTrace();
}
}
}
郎虹 2003-11-20
  • 打赏
  • 举报
回复
再此给出所有代码
//class WebToolBar

import java.awt.*;
import java.awt.event.*;
import java.net.*;
import javax.swing.*;
import javax.swing.event.*;
public class WebToolBar extends JToolBar implements HyperlinkListener
{
private WebBrowserPane webBrowserPane;
private JButton backButton,forwardButton;
private JTextField urlTextField;
public WebToolBar(WebBrowserPane browser)
{
super("Web Navigation");
webBrowserPane=browser;
webBrowserPane.addHyperlinkListener(this);
/* (new HyperlinkListener()
{
public void hyperlinkUpdate(HyperlinkEvent event)
{
if(event.getEventType()==HyperlinkEvent.EventType.ACTIVATED)
{
URL url=event.getURL();
webBrowserPane.goToURL(url);
urlTextField.setText(url.toString());
}
}
}
);*/
urlTextField=new JTextField(25);
urlTextField.addActionListener
(
new ActionListener()
{
public void actionPerformed(ActionEvent event)
{
try
{
URL url =new URL(urlTextField.getText());
webBrowserPane.goToURL(url);
}
catch(MalformedURLException urlException)
{
urlException.printStackTrace();
}
}
}
);
backButton=new JButton(new ImageIcon(getClass().getResource("invalid32x32.gif")));
backButton.addActionListener
(
new ActionListener()
{
public void actionPerformed(ActionEvent event)
{
URL url=webBrowserPane.back();
urlTextField.setText(url.toString());
}
}
);
forwardButton=new JButton(new ImageIcon(getClass().getResource("win32_CopyDrop32x32.gif")));
forwardButton.addActionListener
(
new ActionListener()
{
public void actionPerformed(ActionEvent event)
{
URL url=webBrowserPane.forward();
urlTextField.setText(url.toString());
}
}
);
add(backButton);
add(forwardButton);
add(urlTextField);
}
public void hyperlinkUpdate(HyperlinkEvent event)
{
if(event.getEventType()==HyperlinkEvent.EventType.ACTIVATED)
{
URL url=event.getURL();
webBrowserPane.goToURL(url);
urlTextField.setText(url.toString());
}
}
}
hurt75 2003-11-20
  • 打赏
  • 举报
回复
你这里面很多自己定义的类。都没有给出。所以不能帮你编译。
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
//import javax.swing.event.*;这是你给出的import不足以编译。你还定义了二个自己的类。如果你的这个类就是这几个import那是怎么也编译不过的
hurt75 2003-11-20
  • 打赏
  • 举报
回复
首先说一句服了你,呵呵。
代码都能抄错了。也不是用手工写的,服!
先帮你顶一下。
郎虹 2003-11-20
  • 打赏
  • 举报
回复
大哥再帮忙看看!!!
我顶
郎虹 2003-11-20
  • 打赏
  • 举报
回复
对不起
Container conterPane=new frame.getContentPane();
这句代码我抄错了。原码没有new .
Container conterPane= frame.getContentPane();
郎虹 2003-11-20
  • 打赏
  • 举报
回复
出错 信息如下:
C:\jdk1.3\bin\Compare\TimeTime\WebBrowser\MDIWebBrowser.java:37: cannot resolve symbol
symbol : variable contentPane
location: class MDIWebBrowser
contentPane.add(toolBar,BorderLayout.NORTH);
^
C:\jdk1.3\bin\Compare\TimeTime\WebBrowser\MDIWebBrowser.java:38: cannot resolve symbol
symbol : variable contentPane
location: class MDIWebBrowser
contentPane.add(new JScrollPane(browserPane),BorderLayout.CENTER);
whyxx 2003-11-20
  • 打赏
  • 举报
回复
Container conterPane=new frame.getContentPane();

这句代码能编过?
钟伟海 2003-11-20
  • 打赏
  • 举报
回复
有什么问题吗?
是没显示出来还是出错???

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧