자바 스윙좀 도와주세요 진짜 미치겠네요 ㅠㅠ
예그리나
그림 보시면 아시겠지만 일정 내용이 가로로 나오는 문제가 ㅠㅠ세로로 바꾸고 싶거든요.그리고 소스는 일부만 추가했어요그니까 날짜 눌렀을 때 액션이랑 처음 생성자만 보여드릴게요..........꼭 좀 도와주세요 ㅠㅠ
ActionListener dateSetter = new ActionListener() { public void actionPerformed(ActionEvent e) { String num = e.getActionCommand(); //Semaphore start if (!num.equals()) { try { // set the current day highlighted********************************************************************* setDayActive(Integer.parseInt(num)); System.out.println(yy + , + (mm+1) + , + dd + ,); jlMessage.setText(yy + 년 + (mm+1) + 월 + dd + 일 + ); jbAdd.setEnabled(true); // 서버로 정보 보내기 //////////////////////////////////////////// dataObject.setProtocol(SCHE####); dataObject.setParam1(String.valueOf(yy)); dataObject.setParam2(String.valueOf(mm+1)); dataObject.setParam3(String.valueOf(dd)); // 서버로부터 정보 받아오기 ////////////// String[] temp = {08시 00분 : A가 B를 끝내기, 20시 30분 : A가 C를 끝내기, DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDWOIEP, a, b, c, RUPOSDIUFPOSDIUFSDOIFUDSpofiudspofisudfpoiewufpoisedufpodsiufpdsfsdfosdufdsoipfupsdf}; int scheSize = temp.length; JTextArea[] jtaArray = new JTextArea[scheSize]; JButton[] jbArray = new JButton[scheSize]; jpDown.removeAll(); jpDown.setLayout(new FlowLayout()); for (int i=0; i scheSize; i++) { jpDown.add(new JTextField(sdfasdfadfads), BorderLayout.LINE_END); jpDown.add(new JButton(일정 수정하기)); jbArray[i] = new JButton(일정 삭제하기); &nspan jpDown.add(jbArray[i], BorderLayout.AFTER_LINE_ENDS); /*jtaArray[i] = new JTextArea(temp[i]); jtaArray[i].setLineWrap(true); jtaArray[i].setEnabled(false); jbArray[i] = new JButton(일정 삭제하기); jpDown.add(jtaArray[i]); jpDown.add(new JButton(일정 수정하기)); jpDown.add(jbArray[i]);*/ } remove(jspContent); jspContent.removeAll(); jspContent = new JScrollPane(jpDown);
add(jspContent, BorderLayout.AFTER_LAST_LINE); /* String [] a = new String [1]; a[0]=1; dataObject.setProjectList(a); classValues = dataObject.getProtocol() + \n + dataObject.getID() + \n + dataObject.getPassword() + \n + dataObject.getProject() + \n + dataObject.getProjectList() + dataObject.getCmd() + \n; */ //bw.write(classValues); //bw.flush(); //////////////////////////// // 서버로부터 읽음. //app.makeClass(br); //semaphhore end //jtaContent.setText(dataObject.getMsg()); } catch (Exception exception) { exception.printStackTrace(); } } } };
// Construct all the buttons, and add them. for (int i = 0; i 6; i++) for (int j = 0; j 7; j++) { bp.add(labs[i][j] = new JButton()); labs[i][j].addActionListener(dateSetter); }
jpCal.setBorder(BorderFactory.createEtchedBorder()); jpCal.setLayout(new BorderLayout()); jpCal.add(BorderLayout.NORTH, tp); jpCal.add(BorderLayout.CENTER, bp); jpContent = new JPanel(new FlowLayout()); jbAdd = new JButton(일정 등록하기); jbAdd.setEnabled(false); jlMessage = new JLabel(원하는 날짜를 눌러주세요. ); JPanel jpUp = new JPanel(); jpUp.setLayout(new FlowLayout()); jpUp.add(BorderLayout.WEST, jlMessage); jpUp.add(BorderLayout.EAST, jbAdd); jpDown = new JPanel(new FlowLayout()); jpContent.add(jpUp, BorderLayout.NORTH); jpContent.add(jpDown, BorderLayout.CENTER); jspContent = new JScrollPane(jpDown); //jspContent.setLayout(new FlowLayout()); //jspContent.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_NEVER); //jspContent.seterticalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_NEVER); //jspContent.set //jspContent.setSize(new Dimension(590,220)); setLayout(new BorderLayout()); add(jpCal, BorderLayout.NORTH); add(jpUp, BorderLayout.CENTER); add(jspContent, BorderLayout.SOUTH); }
-
글리슨
그림에는 일정 내용이 없는데요?
TextArea라면 엔터를 넣으면 되고
컴포넌트라면 GridLayout으로 배치하세요.