改好了,你把圖片的地址改一下,注意路徑
創(chuàng)新互聯(lián)專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務,包含不限于成都做網(wǎng)站、網(wǎng)站設計、鶴山網(wǎng)絡推廣、成都小程序開發(fā)、鶴山網(wǎng)絡營銷、鶴山企業(yè)策劃、鶴山品牌公關、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運營等,從售前售中售后,我們都將竭誠為您服務,您的肯定,是我們最大的嘉獎;創(chuàng)新互聯(lián)為所有大學生創(chuàng)業(yè)者提供鶴山建站搭建服務,24小時服務熱線:028-86922220,官方網(wǎng)址:www.cdcxhl.com
import java.awt.FlowLayout;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JList;
import javax.swing.JScrollPane;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;
public class e extends JFrame implements ListSelectionListener{
private JList jl;
private JLabel b1;
private String name[]={"picture 1","picture 2","picture 3"};
private Icon icon[]={new ImageIcon("picture 1.jpg"),new ImageIcon("picture 2.jpg"),new ImageIcon("picture 3.jpg")};
public e(){
super("列表框中顯示圖形文件");
this.getContentPane().setLayout(new FlowLayout());
jl=new JList(name);
jl.setVisibleRowCount(3);
jl.addListSelectionListener(this);
this.getContentPane().add(new JScrollPane(jl));
b1=new JLabel("picture 1");
this.getContentPane().add(b1);
this.setSize(400,400);
this.setVisible(true);
}
public static void main(String args[]){
e ex=new e();
ex.addWindowListener(new WindowAdapter(){
public void WindowClosing(WindowEvent k){
System.exit(0);
}
});
}
public void valueChanged(ListSelectionEvent k){
b1.setIcon(icon[jl.getSelectedIndex()]);
}
}
Connection conn;
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
conn = DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:taian", "hr", "hr"); //連接Oracle
conn.setAutoCommit(false);
Statement myStat = conn.createStatement();
String sqlTxt = "update BankAccount set account=account-" + this.amount.getText() + " where accId=" + this.payOut.getText();
System.out.println("第一步 執(zhí)行:" + sqlTxt);
//
try {
int affectedRow = myStat.executeUpdate(sqlTxt);
System.out.println("從匯出方扣減" + this.amount.getText() + "元,修改了" + affectedRow + "行數(shù)據(jù).");
sqlTxt = "update BankAccount set account=account+" + this.amount.getText() + " where accId=" + this.saveIn.getText();
System.out.println("第二步 執(zhí)行:" + sqlTxt);
affectedRow = myStat.executeUpdate(sqlTxt);
System.out.println("從匯入方增加" + this.amount.getText() + "元,修改了" + affectedRow + "行數(shù)據(jù).");
// 事務成功結(jié)束, 提交
conn.commit();
} catch (SQLException sqlEx) {
System.out.println
sqlEx.printStackTrace();
// 事務中斷,整體回滾到事務開始前狀態(tài)
conn.rollback();
}
myStat.close();
conn.close();
} catch (Exception ex) {
System.out.println("反正是出錯了.");
}
}//
Java程序的運行需要經(jīng)歷三個步驟:
編輯
編譯
運行
其中,編輯是編寫源碼的過程,編譯是將源碼編譯成.class文件。運行時,找的就是.class文件,運行程序時,以main函數(shù)為入口,開始執(zhí)行程序,重點是,下次程序運行時,JVM虛擬機不會再次編譯源碼,而是直接尋找對應的.class文件,從而運行程序。
所以,編譯源碼后,如果有新的修改,需要重新編譯,生成.class文件,然后,才會執(zhí)行。
修改源碼后若不編譯便直接運行,JVM使用的仍然是上一次運行的.class文件。
你的主函數(shù)沒有錯誤,你應該恢復主函數(shù)原來的樣子public static void main(String[] args){
User user=new User();
user.setId(1001);
user.setName("user");
user.setStuNum("1001");
new TicketBooker(user);
}你的Java程序是在109行JCB_Year.setSelectedIndex(date.getYear()+1900-Integer.parseInt(arrayYear[0]));這句出問題了,因為今年是2018年,date.getYear()+1900=2018,2018-2014=4,JCB_Year.setSelectedIndex(4);而你的private JComboBox JCB_Year=new JComboBox(arrayYear);arrayYear是只定義了三個字符串的數(shù)組
private static final String arrayYear[]={"2014","2015","2016"};所以造成JComboBox下標Index越界,本來下標只有0到2你訪問到了4.改正辦法把arrayYear數(shù)組加兩個元素,把private static final String arrayYear[]={"2014","2015","2016"};改成private static final String arrayYear[]={"2014","2015","2016","2017","2018"};就沒問題了.注意,arrayYear數(shù)組 2019年還需要加"2019",2020年還需要加"2020"
首先我先說下jdk是不支持泛型的,但是可以用強制轉(zhuǎn)型的方式
1.去掉每個類的的東西,如改寫成List sockets=new ArrayList();報錯的地方用強制轉(zhuǎn)型的方式改寫,如(Socket) socket
2.ChatToMul這個類中for循環(huán)改寫為Iterator
for(Iterator it = sockets.iterator();it.hasNext();){
Socket socketto = (Socket) it.next();
PrintWriter pw=MyUtil.getPrintWriter(socket);
PrintWriter pwto=MyUtil.getPrintWriter(socketto);
pw.println(socket.getRemoteSocketAddress().toString()+"對"+
socketto.getRemoteSocketAddress().toString()+"說:"+message);
pw.flush();
pwto.println(socket.getRemoteSocketAddress().toString()+"對"+
socketto.getRemoteSocketAddress().toString()+"說:"+message);
pwto.flush();
}
這樣基本改寫成功。
如果需要源代碼話,就聯(lián)系我,我傳給你,
代碼改寫不易,望采納