- 1
- 2
- 3
- 4
Graphics2D g = ...;
String str = "Some string";
FontRenderContext frc = g.getFontRenderContext();
double height = g.getFont().createGlyphVector(frc, str).getPixelBounds(null, 0, 0).getHeight();
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+65
Graphics2D g = ...;
String str = "Some string";
FontRenderContext frc = g.getFontRenderContext();
double height = g.getFont().createGlyphVector(frc, str).getPixelBounds(null, 0, 0).getHeight();
Мне нужно было узнать точную высоту строки, которую я рисую на объекте Image. Спасибо stackoverflow за то, что он есть, по-моему, до этого способа просто невозможно догадаться, даже копая документацию, за несколько часов...
+81
// -1 esli NotFound, snachala massiv potom element
static int najtiElementVMassive(Object massiv,Object element){
if(massiv instanceof int[]) {
for(int i=0; i<((int[])massiv).length; ++i)
if(((int[])massiv)[i]==(int)element)
return i;
} else if(massiv instanceof byte[]) {
for(int i=0; i<((byte[])massiv).length; ++i)
if(((byte[])massiv)[i]==(byte)element)
return i;
} else if(massiv instanceof boolean[]) {
for(int i=0; i<((boolean[])massiv).length; ++i)
if(((boolean[])massiv)[i]==(boolean)element)
return i;
} else if(massiv instanceof char[]) {
for(int i=0; i<((char[])massiv).length; ++i)
if(((char[])massiv)[i]==(char)element)
return i;
} else if(massiv instanceof float[]) {
for(int i=0; i<((float[])massiv).length; ++i)
if(((float[])massiv)[i]==(float)element)
return i;
} else if(massiv instanceof double[]) {
for(int i=0; i<((double[])massiv).length; ++i)
if(((double[])massiv)[i]==(double)element)
return i;
} else if(massiv instanceof short[]) {
for(int i=0; i<((short[])massiv).length; ++i)
if(((short[])massiv)[i]==(short)element)
return i;
} else if(massiv instanceof long[]) {
for(int i=0; i<((long[])massiv).length; ++i)
if(((long[])massiv)[i]==(long)element)
return i;
} else {
try {
for(int i=0; i<((Object[])massiv).length; ++i)
if(sravnitMassivi(((Object[])massiv)[i],element))
return i;
} catch (Exception e) {
for(int i=0; i<((Object[])massiv).length; ++i)
if((((Object[])massiv)[i]).equals(element))
return i;
}
}
return -1;
}
static boolean sravnitMassivi(Object massiv1,Object massiv2) {
try {
if((((Object[])massiv1)).length!=(((Object[])massiv2)).length) return false;
boolean ravni=true;
for(int i=0; i<(((Object[])massiv1)).length; ++i)
ravni=ravni&&sravnitMassivi((((Object[])massiv1))[i],(((Object[])massiv2))[i]);
return ravni;
} catch (Exception e) {
if(massiv1 instanceof int[]) {
return Arrays.equals((int[])massiv1,(int[])massiv2);
} else if(massiv1 instanceof byte[]) {
return Arrays.equals((byte[])massiv1,(byte[])massiv2);
} else if(massiv1 instanceof boolean[]) {
return Arrays.equals((boolean[])massiv1,(boolean[])massiv2);
} else if(massiv1 instanceof char[]) {
return Arrays.equals((char[])massiv1,(char[])massiv2);
} else if(massiv1 instanceof float[]) {
return Arrays.equals((float[])massiv1,(float[])massiv2);
} else if(massiv1 instanceof double[]) {
return Arrays.equals((double[])massiv1,(double[])massiv2);
} else if(massiv1 instanceof short[]) {
return Arrays.equals((short[])massiv1,(short[])massiv2);
} else if(massiv1 instanceof long[]) {
return Arrays.equals((long[])massiv1,(long[])massiv2);
} else {
return massiv1.equals(massiv2);
}
}
}
поиск элемента в массиве
http://ideone.com/iqNA7l
+73
private void CopyFiles(String dirName) {
InputStream is = this.getClass().getResourceAsStream(
"/18.xslt");
OutputStream os;
try {
os = new FileOutputStream(dirName + "/18.xslt");
byte[] buffer = new byte[4096];
int length;
while ((length = is.read(buffer)) > 0) {
os.write(buffer, 0, length);
}
os.close();
is.close();
is = this.getClass().getResourceAsStream(
"/13_02.tif");
os = new FileOutputStream(dirName + "/13_02.tif");
while ((length = is.read(buffer)) > 0) {
os.write(buffer, 0, length);
}
os.close();
is.close();
is = this.getClass().getResourceAsStream("/13_02.xslt");
os = new FileOutputStream(dirName + "/13_02.xslt");
while ((length = is.read(buffer)) > 0) {
os.write(buffer, 0, length);
}
os.close();
is.close();
is = this.getClass().getResourceAsStream(
"/13_02_t.tif");
os = new FileOutputStream(dirName + "/13_02_t.tif");
while ((length = is.read(buffer)) > 0) {
os.write(buffer, 0, length);
}
os.close();
is.close();
is = this.getClass().getResourceAsStream(
"/13_02_t.xslt");
os = new FileOutputStream(dirName + "/13_02_t.xslt");
while ((length = is.read(buffer)) > 0) {
os.write(buffer, 0, length);
}
os.close();
is.close();
} catch (FileNotFoundException e1) {
e1.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
+74
private static class MyStatefulActor extends DefaultActor {
protected void act() {
loop(new Runnable() {
public void run() {
react(new MessagingRunnable<String>(this) {
protected void doRun(final String msg) {
System.out.println("Stage #0: " + msg);
react(new MessagingRunnable<Double>() {
protected void doRun(final Double msg) {
System.out.println(" Stage #1: " + msg);
react(new MessagingRunnable<List<Integer>>() {
protected void doRun(final List<Integer> msg) {
System.out.println(" Stage #2: " + msg + "\n");
}
});
}
});
}
});
}
});
}
}
}
+78
wb.getApplication().run(macro, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null);
Использование библиотеки для взаимодействия с мелкософтовскими COM-объектами
+74
OutputStream stream = openOutputStream();
Throwable mainThrowable = null;
try {
// что-то делаем со stream
} catch (Throwable t) {
// сохраняем исключение
mainThrowable = t;
// и тут же выбрасываем его
throw t;
} finally {
if (mainThrowable == null) {
// основного исключения не было. Просто вызываем close()
stream.close();
}
else {
try {
stream.close();
} catch (Throwable unused) {
// игнорируем, так как есть основное исключение
// можно добавить лог исключения (по желанию)
}
}
}
КВА КВА ГЦ РЕШАЕТ ВСЕ ПРОБЛЕМЫ
АВТОДЕСТРУКТОРЫ ЧТО ЭТО ТАКОЕ
http://habrahabr.ru/post/178405/
+69
public void startApp() {
StringItem si = new StringItem("Some label","Some text");
try{
Image img = Image.createImage("/res/path/to/image.gif");
FORM.append(img);
}catch (java.io.IOException ioe){
ioe.printStackTrace();
}
FORM.append(si);
DISPLAY.setCurrent(FORM);
}
Wtf?
http://www.gfs-team.ru/articles/read/107
+65
grade : 100 >= "A" >= 90 > "B" >= 80 > "C" >= 70 > "D" >= 60 > "E" >= 0;
Кто-нибудь догадается, что сие может значить? :)
+74
Logger.getLogger(OriginReaderImpl.class).error("somebody calls reading origins without filtering",
new RuntimeException());
return Cf.newArrayList();
У меня был когнитивный диссонанс: в логах стектрейсы, а транзакция успешно завершена.
П.С. Код переформатирован так, чтобы вызов конструктора исключения не вылезал за границы экрана.
+119
public static RuntimeException propagate(Throwable throwable)
This method always throws an exception. The RuntimeException return type is only for client code to make Java type system happy in case a return value is required by the enclosing method.
Давно пора сделать аннотацию типа noreturn, чтобы компилятор не ругался и подсвечивал мёртвый код.