开源项目是对用户开放源代码的项目,有的能运行有的不能,关键是开源的代码。
我觉得你想学的应该是如何构思创建一个项目。
前期肯定要多联系,把基础的东西弄熟了,这样你构思的时候思路才广泛。
可以买本书,上面都有项目的,看看他的设计思路啊什么的。
或者直接自己构思,想清楚你需要什么功能,然后各种功能需要什么数据,如何去实现,关键在于去动手,做了才会发现问题。刚开始光想事想不出来的,有很多问题都想不到,当你真正开发的时候,会遇到各种各样的问题,这就是一个积累过程,遇到的问题多了,你的问题就变少了。
选中某一个函数,点击f3,然后关联jdk安装包下面的名字叫src的文件
您好。我重新地帮你写了代码,完全地符合了你的图片中的界面要求、功能要求。代码如下:(解决了问题,记得给我分哦~^_^呵呵……)
importjava.awt.BorderLayout;
importjavax.swing.JPanel;
importjavax.swing.JFrame;
importjava.awt.Rectangle;
importjavax.swing.JLabel;
importjavax.swing.SwingConstants;
importjava.awt.Font;
importjavax.swing.JTextArea;
importjavax.swing.JScrollBar;
importjavax.swing.JScrollPane;
importjavax.swing.JComboBox;
importjavax.swing.JTextField;
importjavax.swing.JButton;
publicclassLiuybextendsJFrame{
privatestaticfinallongserialVersionUID=1L;
privateJPaneljContentPane=null;
privateJLabeljLabel=null;
privateJTextAreajTextArea=null;
privateJScrollPanejScrollPane=null;
privateJLabeljLabel1=null;
privateJComboBoxjComboBox=null;
privateJLabeljLabel2=null;
privateJTextFieldjTextField=null;
privateJButtonjButton=null;
privateJButtonjButton1=null;
privateJButtonjButton2=null;
privateJButtonjButton3=null;
/**
*Thisisthedefaultconstructor
*/
publicLiuyb(){
super();
initialize();
}
*Thismethodinitializesthis
*
*@returnvoid
privatevoidinitialize(){
this.setContentPane(getJContentPane());
this.setTitle("留言板程序");
this.setBounds(newRectangle(0,0,640,480));
this.setVisible(true);
*ThismethodinitializesjContentPane
*@returnjavax.swing.JPanel
privateJPanelgetJContentPane(){
if(jContentPane==null){
jLabel2=newJLabel();
jLabel2.setBounds(newRectangle(214,407,45,24));
jLabel2.setFont(newFont("Dialog",Font.BOLD,14));
jLabel2.setText("地说:");
jLabel1=newJLabel();
jLabel1.setBounds(newRectangle(32,407,15,24));
jLabel1.setFont(newFont("Dialog",Font.BOLD,14));
jLabel1.setText("你");
jLabel=newJLabel();
jLabel.setBounds(newRectangle(283,15,45,20));
jLabel.setHorizontalAlignment(SwingConstants.CENTER);
jLabel.setFont(newFont("Dialog",Font.BOLD,14));
jLabel.setText("留言板");
jContentPane=newJPanel();
jContentPane.setLayout(null);
jContentPane.add(jLabel,null);
jContentPane.add(getJScrollPane(),null);
jContentPane.add(jLabel1,null);
jContentPane.add(getJComboBox(),null);
jContentPane.add(jLabel2,null);
jContentPane.add(getJTextField(),null);
jContentPane.add(getJButton(),null);
jContentPane.add(getJButton1(),null);
jContentPane.add(getJButton2(),null);
jContentPane.add(getJButton3(),null);
returnjContentPane;
*ThismethodinitializesjTextArea
*@returnjavax.swing.JTextArea
privateJTextAreagetJTextArea(){
if(jTextArea==null){
jTextArea=newJTextArea();
jTextArea.setText("留言内容:");
jTextArea.setEditable(false);
returnjTextArea;
*ThismethodinitializesjScrollPane
*@returnjavax.swing.JScrollPane
privateJScrollPanegetJScrollPane(){
if(jScrollPane==null){
jScrollPane=newJScrollPane();
jScrollPane.setBounds(newRectangle(22,49,534,347));
jScrollPane.setViewportView(getJTextArea());
returnjScrollPane;
*ThismethodinitializesjComboBox
*@returnjavax.swing.JComboBox
privateJComboBoxgetJComboBox(){
if(jComboBox==null){
jComboBox=newJComboBox();
jComboBox.setBounds(newRectangle(54,407,149,24));
String[]mycbox={"微笑","大笑","痛苦"};
jComboBox.addItem(mycbox[0]);
jComboBox.addItem(mycbox[1]);
jComboBox.addItem(mycbox[2]);
returnjComboBox;
*ThismethodinitializesjTextField
*@returnjavax.swing.JTextField
privateJTextFieldgetJTextField(){
if(jTextField==null){
jTextField=newJTextField();
jTextField.setBounds(newRectangle(265,407,231,24));
returnjTextField;
*ThismethodinitializesjButton
*@returnjavax.swing.JButton
privateJButtongetJButton(){
if(jButton==null){
jButton=newJButton();
jButton.setBounds(newRectangle(505,407,70,24));
jButton.setText("提交");
jButton.addActionListener(newjava.awt.event.ActionListener(){
publicvoidactionPerformed(java.awt.event.ActionEvente){
jTextArea.setText(jTextArea.getText()+"\r\n"+"你"+jComboBox.getSelectedItem().toString()+"地说:"+jTextField.getText());
});
returnjButton;
*ThismethodinitializesjButton1
privateJButtongetJButton1(){
if(jButton1==null){
jButton1=newJButton();
jButton1.setBounds(newRectangle(565,51,60,32));
jButton1.setText("清屏");
jButton1.addActionListener(newjava.awt.event.ActionListener(){
returnjButton1;
*ThismethodinitializesjButton2
privateJButtongetJButton2(){
if(jButton2==null){
jButton2=newJButton();
jButton2.setBounds(newRectangle(565,112,60,32));
jButton2.setText("置顶");
jButton2.addActionListener(newjava.awt.event.ActionListener(){
jTextArea.setCaretPosition(0);
returnjButton2;
*ThismethodinitializesjButton3
privateJButtongetJButton3(){
if(jButton3==null){
jButton3=newJButton();
jButton3.setBounds(newRectangle(565,173,60,32));
jButton3.setText("至尾");
jButton3.addActionListener(newjava.awt.event.ActionListener(){
jTextArea.setCaretPosition((int)jTextArea.getText().length());
returnjButton3;
publicstaticvoidmain(Stringargs[]){
newLiuyb();
先说说回复吧:
假如:
留言表(id,text)两个字段
回复表(id,textparentId)用来存放留言表id三个字段
目前有一条留言
1001,'这是一条留言';
那么给这条留言的回复就是
1003,'这是一条回复',1001(这就是该留言的ID)这样就把留言和回复关联上了
回复后点保存时,将数据传入后台,数据库做insert操作就行了
删除一样的
如果删除回复,直接传入回复的ID即可
如果删除留言,得先判断该留言有没有回复,如果有回复,则先删除回复,在删除留言(外键约束)