Toller Threadtitel. Fehlen nur noch ein paar Rufzeichen.
fullack :sudern:
Toller Threadtitel. Fehlen nur noch ein paar Rufzeichen.
fullack :sudern:
Der uebliche Weg, um alle Klassen, die ein bestimmtes Interface implementieren, aus dem Jar File zu laden ist dieses Service Provider Pattern. Das hab ich auch heuer in "Technologien für verteilte Systeme" gelernt.
hm.... service provider? warum nicht eine einfache variante davon nachprogrammieren?! eine "service.properties" datei in das plugin jar file reinhaun mit inhalt:
dann geht auch das:
public class App {
public static void main(String[] args) throws Exception {
File pluginDir = new File("plugins");
System.out.println("loading plugins from: " + pluginDir.getAbsolutePath());
File[] jars = pluginDir.listFiles(new FileFilter() {
public boolean accept(File pathname) {
return pathname.getName().endsWith(".jar");
}
});
for (File f : jars) {
System.out.println("processing jar: " + f.getName());
URLClassLoader loader = URLClassLoader.newInstance(new URL[] { f.toURL() });
ResourceBundle props = ResourceBundle.getBundle("service", Locale.getDefault(), loader);
final String isubClassName = props.getString("pkg.plugininterfaces.ISub");
ISub sub = (ISub) loader.loadClass(isubClassName).newInstance();
System.out.println("Sub says ----> " + sub.getMsg());
}
}
}
Alles anzeigen
hihi, das hat mich jetzt aber interessiert.
hab mal schnell was zusammen gehackt:
public class App {
public static void main(String[] args) throws Exception {
File pluginDir = new File("plugins");
System.out.println("loading plugins from: " + pluginDir.getAbsolutePath());
File[] jars = pluginDir.listFiles(new FileFilter() {
public boolean accept(File pathname) {
return pathname.getName().endsWith(".jar");
}
});
for (File f : jars) {
System.out.println("processing jar: " + f.getName());
final JarFile jar = new JarFile(f);
for (Enumeration<JarEntry> entries = jar.entries(); entries.hasMoreElements(); ) {
JarEntry entry = entries.nextElement();
String name = entry.getName();
if(name.endsWith(".class") == false) {
continue;
}
String className = name.replaceAll("/", ".");
className = className.substring(0, className.length() - ".class".length());
URLClassLoader loader = URLClassLoader.newInstance(new URL[] { f.toURL() });
ISub sub = (ISub) loader.loadClass(className).newInstance();
System.out.println("Sub says ----> " + sub.getMsg());
}
}
}
}
Alles anzeigen
das sollte mal als vorlage weiterhelfen:
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Arrays;
import java.util.List;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.WindowConstants;
import javax.swing.table.AbstractTableModel;
public class JTableZeilenTauschen {
private static class MyTableModel extends AbstractTableModel {
private List<String> data = Arrays.asList("x1", "x2", "x3", "x4");
// eine zusatzmethode zum vertauschen
public void tauscheZeile() {
String tmp = this.data.get(0);
this.data.set(0, this.data.get(1));
this.data.set(1, tmp);
// nicht vergessen dieses ereignis zu feuern -> repaint
this.fireTableDataChanged();
}
// folgende 3 methoden muessen implementiert werden
public int getColumnCount() {
return 1;
}
public int getRowCount() {
return this.data.size();
}
public Object getValueAt(int rowIndex, int columnIndex) {
return this.data.get(rowIndex);
}
}
public static void main(String[] args) {
final MyTableModel model = new MyTableModel();
JTable tbl = new JTable(model);
JButton btn = new JButton("vertausche ersten zwei zeilen");
btn.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
model.tauscheZeile();
}
});
JPanel p = new JPanel();
p.add(btn);
p.add(new JScrollPane(tbl));
JFrame f = new JFrame();
f.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
f.getContentPane().add(p);
f.pack();
f.setVisible(true);
}
}
Alles anzeigen
in /Applications/MyApp.app/Contents/Info.plist sollte das ende folgendermassen aussehen:
...
<key>UTExportedTypeDeclarations</key>
<array>
<dict>
<key>UTTypeConformsTo</key>
<array>
<string>public.text</string>
<string>public.plain-text</string>
</array>
<key>UTTypeDescription</key>
<string>Just any description you want</string>
<key>UTTypeIdentifier</key>
<string>[B]com.apple.TextEdit[/B]</string>
<key>UTTypeTagSpecification</key>
<dict>
<key>com.apple.ostype</key>
<string>TEXT</string>
<key>public.filename-extension</key>
<array>
<string>xml</string>
<string>foo</string>
<string>bar</string>
<string>xyz</string>
<string>...</string>
</array>
</dict>
</dict>
</array>
</dict>
</plist>
Alles anzeigen
den wert "com.apple.TextEdit" evtl umaendern falls man sich nicht mit textedit zufrieden gibt.
damit das aber auch gleich greift folgendes eingeben:
# touch /Applications/TextEdit.app/
# sudo qlmanage -r
Password:
2008-06-30 19:01:48.369 qlmanage[21336:a0b] Resetting all generators
mit hilfe von http://www.macosxhints.com/article.php?st…071028184428583 geloest.
ich sags mal in den worten von irbdavid:
Any know how to set a particular extension, say '.tex', '.c' etc to be dealt with as per flat text files from the point of view of quicklook? At the moment they just flash up the icon of the default editor of that source filetype, TextMate in my case.
[edit] mal abgesehen von irgendwelchenquicklookplugins.com; ich will ja nur von *.foobar auf TextEdit mappen
is ja leider genau das selbe wie die LED wenn er im Sleep ist, warum man das nicht einfach dunkler oder komplett abschalten kann. Die wird in der Nacht sehr hell
da muss ich dir leider total recht geben
ich dreh dann einfach den laptop um, so dass das pulsierende licht wegstrahlt.....
hab mir vor kurzem erst die selbe frage gestellt.
folgendes kann ich zusammenfassen:
- sessel einfach mal aufheben, umso schwerer, desto stabiler (mehr metall, weniger plastik wurde verbaut)
- hoehen verstellbare armlehnen sind recht praktisch (ansonsten kommt man nicht unterm tisch rein, ohne den ganzen sessel nach unten zu schrauben
- mikrofaser vor leder ueberzug; macht weniger laerm, man pickt im sommer nicht so drauf mit der haut (aua) und ist wesentlich pflegeleichter
- hohe rueckenlehne mit kopfpolster einbaut -zum zuruecklehnen einfach sehr geschmeidig, vor allem ersteres (hoehe rueckenlehne) find ich wichtig
ansonsten wuerd ich nicht zum ikea gehen, haben dort nicht wirklich viel auswahl was sesseln >50e betrifft.
hab mich meinen 300e kosten lassen, beim.... bei der scs, das geschaeft das mit "i" anfaengt glaub ich und ne rote schrift hat.
der ital office hat spitzen modelle, nur leider hat da das modell, fuer das ich mich interessiert hab "eh nur" 3500e gekostet (designer award ding halt). der sessel hat die feder unten je nach gewicht selbst eingestellt, was man ansonsten aber eigentlich eh nur einmal fuer sich selbst macht...
evtl gehst mal zum ital office (naehe gumpendorfer, beim burger king) und lasst dich -kostenlos- beraten
Vielleicht passen Besitzer des schwarzen MacBooks besser auf auf ihr precioussssz :ausheck:
was ist ein "precioussssz"?
<edit>
ach so...
precious; adjective
1 precious works of art valuable, costly, expensive; invaluable, priceless, beyond price.
2 her most precious possession valued, cherished, treasured, prized, favorite, dear, dearest, beloved, darling, adored, loved, special.
3 his precious manners affected, overrefined, pretentious; informal la-di-da.
</edit>
hm... die oberflaeche der schwarzen macbooks ist ja auch anders. evtl anderes material verbaut und deshalb robuster? also ist es doch nicht nur die farbe + 20gb mehr hd....
ok, dann halt igw institut (whatever).
praktikum... jaa... naaa.....
bis jetzt waeren dann da:
- fraktale-lu am cg
- SE1/NextSTEP (evtl)
naja, recht mager
ansonsten koennte man noch lvas besuchen wo freie technologiewahl besteht.
Ich habe etwas nachgeforscht. Dieses Abbrechen des Plastiks an der Stelle wo der "Fuß" des Displays auf den Boden "Aufschlägt" (beim zuklappen) passiert bei vielen Geräten der Serie.
Spätere Serien haben angeblich ein etwas dickeres Plastik. Also meiner Meinung nach müsste das über die österreichische Gewährleistung gehen - da das ein Fabrikationsproblem ist. Na, ich probiers halt morgen mal...
"passiert bei vielen geräten der serie" ist etwas untertrieben... besser wäre "passiert bei SEHR vielen geräten der serie". also ich zumindest kenn fast keinen, bei dem das nicht passiert ist. interessanterweise sind nur besitzer eines weissen macbooks betroffen....
würde mich ebenfalls interessieren.
kann man hier auch konkrete lvas nennen?
dass das cg institut (purgi etwas mehr äpfel im einsatz hat als sonstige ist ja bekannt.....
ACHTUNG: wenn jemand die TU-windows version fuer bootcamp verwendet dann wird er klaeglich scheitern!!!
der grund: die supi tu-version hat bestimmte default werte gesetzt, zb das durchaus nuetzliche automatische serien nummern eingeben, ABER auch disabled diese tu-version die moeglichkeit die windows partition neu zu formatieren, wie es von bootcamp erforderlich ist; die option ist dann im installer einfach nicht vorhanden...
am besten mit einem anderen os (live-cd; freeDOS) neu drueber formatieren, da das mit der tu-windows version installer nicht geht
hab ziemlich lange herumgschissen bis ich das endlich rausgfunden hab......
da gibts so ein tool das laeuft im hintergrund (einfach bei den startupitems hinzufuegen) und heisst psst. ist freeware... einfach danach suchen (die entwickler seite ist zur zeit down).
PS: warum ueberhaupt den apfel runterfahren? bei mir laeuft der schon seit... ehm.... dem letzten systemupdate?!
ist es erlaubt, ein (opensource) programm zu schreiben/veroeffentlichen, wenn es seine metadaten von diensten wie amazon.com oder imdb.com automatisch extrahieren kann?
wie legal ist es ueberhaupt, data/web scraping zu betreiben -und den dienst dann kostenlos zur verfuegung zu stellen?
heutzutage weiss man ja nicht, wer auf was alles rechte hat und wir nicht...
cool, danke fuer die schnelle und hilfreiche antwort.
die seiten sind hilfreich, werd mich mal durchackern.
die programme die du angefuehrt hast sind aber nur fuer windows...
na gut, werd die dvds aber glaub ich dennoch in mpeg4 konvertieren.
btw: was ist ein "SAP"?
Second audio program - Special Assistance Plan - Special access program - Stabilisation and Association process - Strong Anthropic Principle - South African Police - Session Announcement Protocol - Service Advertising Protocol - Service Access Point???
ich will handbrake zum konvertieren meiner dvds benutzen. jedoch bietet der 3 (eigentlich 4, aber avi ist fuer mich keine alternative) formate an: MP4, MKV und OGM.
meine frage: welches nehmen? was ist eure meinung?
informationen von wikipedia:
MP4: (MPEG-4 Part 14)
- standardisiertes container format
- unterstuetzt untertitel
- von apple eingefuehrt (ich arbeite groesztenteils auf osx, evtl vorteile da auf mov basierend)
? unterstuetzt mehrere audio spuren ?
// handbrake codecs: MPEG-4 und AVC/H.264; jeweils nur AAC audio (encoder: x264)
MKV:
- open standard free container format (vollkommen open source)
- mehrere video/audio/untertitel spuren
- basiert auf EBML und hat anscheinend sehr viel potential (viele/gute langzeit ziele)
// handbrake codecs: MPEG- und AVC/H.264; jeweils mit AAC/AC-3/Vorbis audio (encoder: x264)
OGM: (Ogg Media)
- unterstuetzung von kapiteln
- mehrere untertitel/audio spuren
- nicht opensource (erfinder wollte nicht seinen "quick-dirty-hacked code" veroeffentlichen)
- "It is most likely going to be viewed as a temporary solution"
// handbrake codecs: MPEG-4 mit Vorbis oder MP3 audio (encoder: FFmpeg und Xvid)
evaluierung anhand dateigroesse/konvertierungsdauer: (laenge: 6min 31sek, bitrate: 512kbps, aufloesung: 720x428, 2pass encoding, eine audiospur, kein untertitel)
MP4: 31.6MB; dauer: 18min (AVC/H.264 Video/AAC Audio)
MKV: 30.3MB; dauer: 19min (AVC/H.264 Video/AAC Audio)
OGM#1: 33.2MB; dauer: 3min !!! (MPEG-4/Vorbis Audio; FFmpeg encoder)
OGM#2: 33.1MB; dauer: 7min (MPEG-4/Vorbis Audio; XviD encoder)
anmerkungen:
- MKV: spulen ist nur mit extrem starker verzoegerung (23sek!) vom bild moeglich
- OGM#1: qualitaet ist miserabel
- OGM#2: qualitaet ist etwas besser als OGM#2, trotzdem noch schlecht
danke erstmal jungs fuer die vielen antworten und die gute hilfe. :thumb:
war das display auf einmal schwarz oder hats in relation zur display-stellung geflackert?
wenn du keine garantie mehr hast würd ich dir zur selbstreparatur raten. [...] nach meiner erfahrung isses meistens nur ein wackelkontakt...
also das display ist fast total schwarz.
und wenn selbstreparatur anzuraten ist, dann werd ich das machen (ist eigentlich eh nur ein uralt rechner den ich gerne zum "spielen" haette). garantie gibts lang keine mehr drauf...
-> wackelkontakt? also duerfte draufhaun evtl ja doch funktionieren?!
Reparieren, ja, aber umständlich, weil das sehr,sehr winzige Leiter sind. Wennst handwerklich begabt bist, ist es grundsätzlich möglich, wenn nicht (so wie ich), --> komplettes Display wechseln lassen. Kenn aber keinen guten Notebooksupport, außer vl. Hersteller?
naja, werds trotzdem versuchen.
das display auswechseln rechnet sich nicht, da der laptop ungefaehr einen wert von.. hmm.... nichtmal 100e hat?!
na gut, wenn das kabel gerissen ist, muss ich loeten... uff... noch nie gmacht.
Ich würde an deiner Stell und wenn es geht (also du nicht ihn unterwegs brauchst) ihn mit einem externen Monitor betreiben. Und wenn das nicht geht, überlegen wie alt er ist, ob sich ein Neukauf auszahlt, oder nicht.
ja, das mit dem externen monitor hab ich mir auch schon ueberlegt, ich will aber nicht noch so ein kastl auf meinem schreibtisch stehn haben.... den neukauf hats schon vor 3 jahren gegeben, von daher...
Vielleicht mal bei den Elektrotechnikern im Forum fragen, dort gibts sicher jemanden der das kann...
guter tipp, danke.
also, werd das ding einfach mal ohne anleitung "aufbrechen" und in irgendwelche kabeln einen knoten reinmachen, bis das teil wieder funktioniert :coolsmile:
hab ich paradeisa auf den augen, oder ueberseh ich da die verwendung von quicktime?
na supa,
mein alter laptop ist anscheinend angfressen und zeigt nurmehr ein schwarzes bild an. wenn man man licht draufleuchtet, sieht man etwas, also nur ganz schwach....
keine ahnung, ob sich das auszahlt den ueberhaupt noch in die reparatur zu geben. wenn schon, dann wo?
kennt jemand von euch einen guten dienstleister, welcher spezialisiert ist auf laptops/lcd bildschirme?
oder habt ihr vielleicht tipps, wie ich den selber reparieren kann? (evtl nur mal kraeftig drauf haun auf das ding...)
danke im vorraus,
christoph