| Âèäû ïðîãðàììèðîâàíèÿ, ïðîãðàììèðîâàíèå, ÿçûêè ïðîãðàììèðîâàíèÿ, êíèãè ïðîãðàììèðîâàíèå | Íà ñàéòå ïðåäñòàâëåíà èíôîðìàöèÿ ïðî ïðîãðàììèðîâàíèå â Èíòåðíåòå è ðàáîòó |
|
Ãðàôè÷åñêèå êîìïîíåíòû â AWT ìîæíî ëè îòîáðàçèòü java.awt.Window?, íå äåëàÿ pack || show íà ôðåéìå Âîïðîñ î JSpinner ?? êðóãëîå îêíî â JAVA, âîçìîæíî ëè ýòî ? (-) Âîïðîñ ïî JAXB, êàê ïðîïóñòèòü íåèçâåñòíûé òýã ðàññêàæèòå ïî ïîäðîáíåå: ComponentAdapter() paintComponent, ïîìîãèòå ðàçîáðàòñÿ Âèçóàëüíûé êîìïîíåíò êàëåäàðü Êàê æå ïåðåðèñîâàòü îêíî ïðîãðàììû Ïåðåìåùåíèå Label ïî ýêðàíó,  ïðîãå íàäî Êàê Âû îòíîñèòåñü ê êóðÿùèì äåâóøêàì? Ïðåæäå ÷åì çàäàòü âîïðîñ, ïðî÷òèòå ýòî! Äîêóìåíòàöèÿ è êíèãè ïî Java, Äàâàéòå ñîáåð¸ì ññûëêè Î÷åðåäíûå äàííûå î "ìåäëåííîñòè" JAVA TreeTable, êàê â NetBeans îêíî Properties Òîðìîçà ñ JFreeChart Óðîâåíü äîñòóïà è JTabbedPanel, Îòîáðàæåíèå çàãëàäîê XML Tree Äîáàâëåíèå listener'à ê Window èëè ê Frame?, íà ÷èñòîì AWT JtextField íåâèäåí ïðè îáðàùåíèè ê íåìó ïî ññûëêå Ðàçìåð îêíà, Êàê çàôèêñèðîâàòü ðàçìåð? JScrollPane JTable, Êàê êàê óäîëèòü çàãîëîâîê òàáëèöû? Íóæåí Ïðèìåð ïî XML êàê ïîëó÷èòü çíà÷åíèå ïåðåìåííîé path Ñîçäàíèå ìåíþ Splash screen, Êàê ïîêàçàòü PNG Îòêóäà âçÿòü ïàêåò?, Íàäî âçÿòü ïàêåò com.sun.xml.* Âñòàâêà èêîíêè â ÿ÷åéêó JTable, Êàê äåëàåòñÿ? ðàáîòàåì ñ Java Sound, êàê ðàáîòàòü ñî çâóêîì ? Êàê â JTable ñäåëàòü ñòîëáåö íå âèäèìûì?, Íà ýêðàíå íå âèäíî, íî â òàáëèöå åñòü JTable è Drag&Drop ProgressMonitor JTree è Drag & Drop, Ïî÷åìó òàê ïîëó÷àåòñÿ. Îòêóäà áåð¸òñÿ îáúåêò Graphics ? Êîìïîíåíòû JAVA, ãåä âçÿòü áèáëèîòåêè Êàê ñîåäèíÿòü labels ñ ïîìîùüþ ëèíèé? Ðàáîòà ñ ñîáûòèÿìè AWT è Swing, â ÷åì ðàçíèöà? Visual Editor äëÿ Eclipse Êàê ñêðûòü êîðíåâîé (root) óçåë â äåðåâå?, Root-íîäà ä. á. íåâèäèìà â JTree Âîïðîñ ïî JTree, Êàê ïîëó÷èòü ññûëêó íà êîðåíü ñîáèòèå ïîñëå çàêðûòèÿ JDialog JComboBox ñ îáúåêòàìè Smart GUI interface line in IDEA, êàê ñäåëàòü ôèøå÷êó ñ "+" ? JTable è autoscroll, ×å-òî ÿ çàòóïèë.... íåïîíÿòêà ñ êîìïèëÿöèåé Êîíåö JVM ? ïðîáëåìà ïðåîáðàçîâàíèÿ èç àïëåòà â ïðèëîæåíèå, èìååòñÿ èãðóõà â àïëåòå, íàäî ïåðåäåëàòü StyledDocument ïðîáëåìû ñ êîäèðîâêîé â Ñåðâëåòå, ïðîáëåìû ñ êîäèðîâêîé â Ñåðâëåòå JTextPane Îøèáêà ïåðåðèñîâêè JLabel ñî ñâîèì UI, Ôîðìà ñ JLabel íå ïåðåðèñîâûâàåòñÿ Öâåòà òåêñòà â jTextArea Óñòàíîâêà çíà÷àíèå ïîñëå çàïîëíåíèÿ âñåõ ïîëåé. Îòðèñîâêà JPanel Ïðîáëåìà ñ ìîäàëüíûì îêíîì Èñïîëüçîâàíèå LayoutManager Hello World!..., Òîëüêî íåìíîãî ñëîæíåå Êàê Âû îòíîñèòåñü ê êóðÿùèì äåâóøêàì? Ïðåæäå ÷åì çàäàòü âîïðîñ, ïðî÷òèòå ýòî! Äîêóìåíòàöèÿ è êíèãè ïî Java, Äàâàéòå ñîáåð¸ì ññûëêè Ãîðÿ÷àÿ êëàâèøà, Ïðîáëåìà ñ ïðèñâîåíèåì êëàâèøå äåéñòâèÿ Êàê ñîçäàòü ñïèñîê öâåòîâ â jComboBox ? JPanel â Jpanel-e Êàê æåñòêî çàäàòü ðàçìåðû äëÿ åëåìåíòîâ CUI?, setMinimumSize() ÷òî-òî ìàëî ïîìîãàåò... Îáõîä ñîõðàíåíèÿ åñëè íåò ðàçëè÷èÿ, âñå âðåìÿ ïðîñèò ñîõðàíÿòü!!,( Ïðîðèñîâêà ýëåìåíòîâ âîïðîñ ïî showMessageDialog String.replaceAll |
Ïëàòíûå õîñòèíãè Ðàñêðóòêà ñàéòà Êíèãè ïî ïðîãðàììèðîâàíèþ paintComponent, ïîìîãèòå ðàçîáðàòñÿ
- ß íå ìîãó ðàçîáðàòüñÿ ñ îäíèì ìåòîäîì â ïðîãðàììå êîòîðàÿ ðèñóåò ôèãóðû(òèïà Paint òîëüêî óæàñíî ïðîñòîé). ß íå ìîãó ïîíÿòü ÷òî âûçûâàåò ìåòîä paintComponent(Graphics g) à èìåííî îí ðèñóåò ôèãóðû. Ìíå ýòî íàäî äëÿ òîãî ÷òîá íàñòðîèòü OpenCanvasFile(). Ïî÷åìó òî îâàë è ïðÿìîóãîëüíèê ÿ íå ìîãó âîññîçäàòü èç ôàéëà õîòÿ ëèíèè áåç ïðîáëåì îòêðûâàþòñÿ.Êîä import java.awt.*;import java.awt.event.*;import java.util.Vector;import java.util.StringTokenizer;import java.io.*;import javax.swing.*;public class CanvasPanel extends JPanel implements MouseListener,MouseMotionListener, Serializable{ protected final static int LINE=1,SQUARE=2,OVAL=3, SOLID_SQUARE=22, SOLID_OVAL=33; protected static Vector vLine,vSquare,vOval,vSolidSquare,vSolidOval; private LinkedList undo, redo; private Color foreGroundColor, backGroundColor; private int x1,y1,x2,y2,drawMode=0; private boolean solidMode; public CanvasPanel() { vLine = new Vector(); vSquare = new Vector(); vOval = new Vector(); vSolidSquare = new Vector(); vSolidOval = new Vector(); addMouseListener(this); addMouseMotionListener(this); solidMode = false; foreGroundColor = Color.WHITE; backGroundColor = Color.BLACK; setBackground(backGroundColor); undo = new LinkedList(); redo = new LinkedList(); repaint(); }/*----------------------------------------------------------------------------*/ public void mousePressed(MouseEvent event) { x1 = event.getX(); y1 = event.getY(); }/*----------------------------------------------------------------------------*/ public void mouseClicked(MouseEvent event){} public void mouseMoved(MouseEvent event){}/*----------------------------------------------------------------------------*/ public void mouseReleased(MouseEvent event) { if (drawMode == LINE) { vLine.add(new Coordinate(x1,y1,event.getX(),event.getY(),foreGroundColor)); undo.addFirst(new StepInfo(LINE ,new Coordinate(x1,y1,event.getX(),event.getY(),foreGroundColor))); } if (drawMode == SQUARE) { if(solidMode) { if(x1 > event.getX() || y1 > event.getY()) { vSolidSquare.add(new Coordinate(event.getX(),event.getY(),x1,y1,foreGroundColor)); undo.addFirst(new StepInfo(SOLID_SQUARE, new Coordinate(event.getX(),event.getY(),x1,y1,foreGroundColor))); } else { vSolidSquare.add(new Coordinate(x1,y1,event.getX(),event.getY(),foreGroundColor)); undo.addFirst(new StepInfo(SOLID_SQUARE, new Coordinate(x1,y1,event.getX(),event.getY(),foreGroundColor))); } } else { if(x1 > event.getX() || y1 > event.getY()) { vSquare.add(new Coordinate(event.getX(),event.getY(),x1,y1,foreGroundColor)); undo.addFirst(new StepInfo(SQUARE, new Coordinate(event.getX(),event.getY(),x1,y1,foreGroundColor))); } else { vSquare.add(new Coordinate(x1,y1,event.getX(),event.getY(),foreGroundColor)); undo.addFirst(new StepInfo(SQUARE, new Coordinate(x1,y1,event.getX(),event.getY(),foreGroundColor))); } } } if (drawMode == this.OVAL) { if(solidMode) { if(x1 > event.getX() || y1 > event.getY()) { vSolidOval.add(new Coordinate(event.getX(),event.getY(),x1,y1,foreGroundColor)); undo.addFirst(new StepInfo(SOLID_OVAL, new Coordinate(event.getX(),event.getY(),x1,y1,foreGroundColor))); } else { vSolidOval.add(new Coordinate(x1,y1,event.getX(),event.getY(),foreGroundColor)); undo.addFirst(new StepInfo(SOLID_OVAL, new Coordinate(x1,y1,event.getX(),event.getY(),foreGroundColor))); } } else { if(x1 > event.getX() || y1 > event.getY()) { vOval.add(new Coordinate(event.getX(),event.getY(),x1,y1,foreGroundColor)); undo.addFirst(new StepInfo(OVAL, new Coordinate(event.getX(),event.getY(),x1,y1,foreGroundColor))); } else { vOval.add(new Coordinate(x1,y1,event.getX(),event.getY(),foreGroundColor)); undo.addFirst(new StepInfo(OVAL, new Coordinate(x1,y1,event.getX(),event.getY(),foreGroundColor))); } } } x1=x2=0; y1=y2=0; }/*----------------------------------------------------------------------------*/ public void mouseEntered(MouseEvent event) { setCursor(new Cursor(Cursor.CROSSHAIR_CURSOR)); }/*----------------------------------------------------------------------------*/ public void mouseExited(MouseEvent event) { setCursor(new Cursor(Cursor.DEFAULT_CURSOR)); }/*----------------------------------------------------------------------------*/ public void mouseDragged(MouseEvent event) { x2 = event.getX(); y2 = event.getY(); repaint(); }/*----------------------------------------------------------------------------*/ public void paintComponent(Graphics g) { super.paintComponent(g); redrawVectorBuffer(g); g.setColor(foreGroundColor); if (drawMode == LINE) { g.drawLine(x1,y1,x2,y2); } if (drawMode == OVAL) { if(solidMode) { if(x1 > x2 || y1 > y2) { g.fillOval(x2,y2,x1-x2,y1-y2); } else { g.fillOval(x1,y1,x2-x1,y2-y1); } } else { if(x1 > x2 || y1 > y2) { g.drawOval (x2,y2,x1-x2,y1-y2); } else { g.drawOval(x1, y1, x2 - x1, y2 - y1); } } } if (drawMode == SQUARE) { if(solidMode) { if(x1 > x2 || y1 > y2) { g.fillRect (x2,y2,x1-x2,y1-y2); } else { g.fillRect(x1, y1, x2 - x1, y2 - y1); } } else { if(x1 > x2 || y1 > y2) { g.drawRect (x2,y2,x1-x2,y1-y2); } else { g.drawRect(x1, y1, x2 - x1, y2 - y1); } } } }/*----------------------------------------------------------------------------*/ public void setDrawMode(int mode) { drawMode = mode; } public int getDrawMode() { return drawMode; }/*----------------------------------------------------------------------------*/ public void setSolidMode(Boolean inSolidMode) { solidMode = inSolidMode.booleanValue(); } public Boolean getSolidMode() { return Boolean.valueOf(solidMode); }/*----------------------------------------------------------------------------*/ public void setForeGroundColor(Color inputColor) { foreGroundColor = inputColor; } public Color getForeGroundColor() { return foreGroundColor; }/*----------------------------------------------------------------------------*/ public void setBackGroundColor(Color inputColor) { backGroundColor = inputColor; this.setBackground(backGroundColor); } public Color getBackGroundColor() { return backGroundColor; }/*----------------------------------------------------------------------------*/ public void undo() { StepInfo tempInfo; if(undo.isEmpty()) { JOptionPane.showMessageDialog(null, "Can't Undo","Painter", JOptionPane.INFORMATION_MESSAGE); } else { tempInfo = (StepInfo)undo.removeFirst(); switch(tempInfo.getStepType()) { case 1: vLine.remove(vLine.size()-1); break; case 2: vSquare.remove(vSquare.size()-1); break; case 3: vOval.remove(vOval.size()-1); break; case 22: vSolidSquare.remove(vSolidSquare.size()-1); break; case 33: vSolidOval.remove(vSolidOval.size()-1); break; } redo.addFirst(tempInfo); } repaint(); }/*----------------------------------------------------------------------------*/ public void redo() { StepInfo tempInfo; if(redo.isEmpty()) { JOptionPane.showMessageDialog(null,"Can't Redo","Painter",JOptionPane.INFORMATION_MESSAGE); } else { tempInfo = (StepInfo)redo.removeFirst(); switch(tempInfo.getStepType()) { case 1: vLine.add(tempInfo.getStepCoordinate()); break; case 2: vSquare.add(tempInfo.getStepCoordinate()); break; case 3: vOval.add(tempInfo.getStepCoordinate()); break; case 22:vSolidSquare.add(tempInfo.getStepCoordinate()); break; case 33:vSolidOval.add(tempInfo.getStepCoordinate()); break; } undo.addFirst(tempInfo); } repaint(); }/*----------------------------------------------------------------------------*/ public void clearCanvas() { vLine.removeAllElements(); vOval.removeAllElements(); vSolidOval.removeAllElements(); vSolidSquare.removeAllElements(); vSquare.removeAllElements(); undo.clear(); redo.clear(); repaint(); }/*----------------------------------------------------------------------------*/ public void SaveCanvasToFile() { try { JFileChooser chooser = new JFileChooser(); if (chooser.showDialog(null, "Save") == JFileChooser.APPROVE_OPTION) { String filename = chooser.getSelectedFile().getPath(); BufferedWriter out = new BufferedWriter(new FileWriter(filename)); for (int i = 0; i < vLine.size(); i++) { Coordinate temp = (Coordinate) vLine.get(i); out.write("Line " + temp.getX1() + " " + temp.getY1() + " " +temp.getX2()+ " " + temp.getY2()); out.newLine(); } for (int i = 0; i < vOval.size(); i++) { Coordinate temp = (Coordinate) vLine.get(i); out.write("Oval " + temp.getX1() + " " + temp.getY1() + " " +temp.getX2()+ " " + temp.getY2()); out.newLine(); } for (int i = 0; i < vSolidOval.size(); i++) { Coordinate temp = (Coordinate) vLine.get(i); out.write("SolidOval " + temp.getX1() + " " + temp.getY1() + " " +temp.getX2()+ " " + temp.getY2()); out.newLine(); } for (int i = 0; i < vSquare.size(); i++) { Coordinate temp = (Coordinate) vLine.get(i); out.write("Square " + temp.getX1() + " " + temp.getY1() + " " +temp.getX2()+ " " + temp.getY2()); out.newLine(); } for (int i = 0; i < vSolidSquare.size(); i++) { Coordinate temp = (Coordinate) vLine.get(i); out.write("SolidSquare " + temp.getX1() + " " + temp.getY1() + " " +temp.getX2()+ " " + temp.getY2()); out.newLine(); } out.flush(); out.close(); } } catch (IOException e) { JOptionPane.showMessageDialog(null,"Error saving file"); } } public void OpenCanvasFile() { try { JFileChooser chooser = new JFileChooser(); if (chooser.showDialog(null, "Load") == JFileChooser.APPROVE_OPTION) { String filename = chooser.getSelectedFile().getPath(); BufferedReader reader = new BufferedReader(new FileReader(filename)); String input = reader.readLine(); StringTokenizer str; while (input != null) { str = new StringTokenizer(input); String shape = str.nextToken(); int x1,y1,x2,y2; x1 = Integer.parseInt(str.nextToken()); y1 = Integer.parseInt(str.nextToken()); x2 = Integer.parseInt(str.nextToken()); y2 = Integer.parseInt(str.nextToken()); if(shape.equals("Line")) { vLine.add(new Coordinate(x1,y1,x2,y2,foreGroundColor)); } if(shape.equals("Oval")) { if(x1 > x2 || y1 > y2) { vOval.add(new Coordinate(x2,y2,x1,y1,foreGroundColor)); } else { vOval.add(new Coordinate(x1,y1,x2,y2,foreGroundColor)); } } if(shape.equals("SolidOval")) { if(x1 > x2 || y1 > y2) { vSolidOval.add(new Coordinate(x2,y2,x1,y1,foreGroundColor)); } else { vSolidOval.add(new Coordinate(x1,y1,x2,y2,foreGroundColor)); } } if(shape.equals("Square")) { if(x1 > x2 || y1 > x2) { vSquare.add(new Coordinate(x2,y2,x1,y1,foreGroundColor)); } else { vSquare.add(new Coordinate(x1,y1,x2,y2,foreGroundColor)); } } if(shape.equals("SolidSquare")) { if(x1 > x2 || y1 > y2) { vSolidSquare.add(new Coordinate(x2,y2,x1,y1,foreGroundColor)); } else { vSolidSquare.add(new Coordinate(x1,y1,x2,y2,foreGroundColor)); } } input = reader.readLine(); } reader.close(); } } catch (Exception e) { JOptionPane.showMessageDialog(null,"Can't open file","Painter",JOptionPane.INFORMATION_MESSAGE); } }/*----------------------------------------------------------------------------*/ private class Coordinate implements Serializable { private int x1,y1,x2,y2; private Color foreColor; public Coordinate (int inx1,int iny1,int inx2, int iny2, Color color) { x1 = inx1; y1 = iny1; x2 = inx2; y2 = iny2; foreColor = color; } public Color colour() { return foreColor; } public int getX1 () { return x1; } public int getX2 () { return x2; } public int getY1 () { return y1; } public int getY2 () { return y2; } }/*----------------------------------------------------------------------------*/ private class StepInfo implements Serializable { private int stepType; private Coordinate stepCoordinate; public StepInfo(int inStepType, Coordinate inStepCoordinate) { stepType = inStepType; stepCoordinate = inStepCoordinate; } public int getStepType() { return stepType; } public Coordinate getStepCoordinate() { return stepCoordinate; } }/*----------------------------------------------------------------------------*/ private void redrawVectorBuffer(Graphics g) { for (int i=0;i<vLine.size();i++){ g.setColor(((Coordinate)vLine.elementAt(i)).colour()); g.drawLine(((Coordinate)vLine.elementAt(i)).getX1(),((Coordinate)vLine.elementAt(i)).getY1(),((Coordinate)vLine.elementAt(i)).getX2(),((Coordinate)vLine.elementAt(i)).getY2()); } for (int i=0;i<vOval.size();i++){ g.setColor(((Coordinate)vOval.elementAt(i)).colour()); g.drawOval(((Coordinate)vOval.elementAt(i)).getX1(),((Coordinate)vOval.elementAt(i)).getY1(),((Coordinate)vOval.elementAt(i)).getX2()-((Coordinate)vOval.elementAt(i)).getX1(),((Coordinate)vOval.elementAt(i)).getY2()-((Coordinate)vOval.elementAt(i)).getY1()); } for (int i=0;i<vSolidOval.size();i++){ g.setColor(((Coordinate)vSolidOval.elementAt(i)).colour()); g.fillOval(((Coordinate)vSolidOval.elementAt(i)).getX1(),((Coordinate)vSolidOval.elementAt(i)).getY1(),((Coordinate)vSolidOval.elementAt(i)).getX2()-((Coordinate)vSolidOval.elementAt(i)).getX1(),((Coordinate)vSolidOval.elementAt(i)).getY2()-((Coordinate)vSolidOval.elementAt(i)).getY1()); } for (int i=0;i<vSquare.size();i++){ g.setColor(((Coordinate)vSquare.elementAt(i)).colour()); g.drawRect(((Coordinate)vSquare.elementAt(i)).getX1(),((Coordinate)vSquare.elementAt(i)).getY1(),((Coordinate)vSquare.elementAt(i)).getX2()-((Coordinate)vSquare.elementAt(i)).getX1(),((Coordinate)vSquare.elementAt(i)).getY2()-((Coordinate)vSquare.elementAt(i)).getY1()); } for (int i=0;i<vSolidSquare.size();i++){ g.setColor(((Coordinate)vSolidSquare.elementAt(i)).colour()); g.fillRect(((Coordinate)vSolidSquare.elementAt(i)).getX1(),((Coordinate)vSolidSquare.elementAt(i)).getY1(),((Coordinate)vSolidSquare.elementAt(i)).getX2()-((Coordinate)vSolidSquare.elementAt(i)).getX1(),((Coordinate)vSolidSquare.elementAt(i)).getY2()-((Coordinate)vSolidSquare.elementAt(i)).getY1()); } }}highlightSyntax('javaZjAxNT','java'); Ýòî ñîîáùåíèå îòðåäàêòèðîâàë V0lk0d@V - 14.4.2005, 02:24 - 400 ñòðîê êîäà - êîìó îõîòà ðçáèðàòüñÿ? Âûäåëè ãëàâíîå. paintComponent(Graphics g) âûçûâàåòñÿ îòäåëüíûì ïîòîêîì. ×òîáû äàòü êîìàíäó íà âûçîâ ýòîãî ìåòîäà, èñïîëüçóåòñÿ ìåòîä repaint() íà íóæíîì êîìïîíåíòå. |